【问题标题】:Formatting the date in the DatePicker control within a Silverlight DataForm在 Silverlight DataForm 中格式化 DatePicker 控件中的日期
【发布时间】:2010-11-12 15:42:53
【问题描述】:

这让我发疯了!

我在 silverlight 中有一个 RIA 服务驱动的数据表单,其中包含一个日期选择器控件。我想以 ddMMMyyyy 格式显示日期。这是 xaml 的示例:

<dataFormToolkit:DataForm x:Name="dataForm" AutoGenerateFields="False">
                <dataFormToolkit:DataForm.EditTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <dataFormToolkit:DataField Label="First Name">
                                <TextBox Text="{Binding PE_FIRST_NAME, Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                            <dataFormToolkit:DataField Label="Surname">
                                <TextBox Text="{Binding PE_SURNAME_NAME,Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                            <dataFormToolkit:DataField Label="Department">
                                <ComboBox x:Name="cboDepartment" DisplayMemberPath="CC_NAME" SelectedValuePath="CC_ID" SelectedValue="{Binding Path=CC_ID, Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                            <dataFormToolkit:DataField Label="Start Date">
                                <controls:DatePicker Text="{Binding PE_START_DATE, Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                        </StackPanel>
                    </DataTemplate>
                </dataFormToolkit:DataForm.EditTemplate>
            </dataFormToolkit:DataForm>
        </StackPanel>

我已遵循 How to change date format in Silverlight DatePicker control? 并将以下几行添加到我的应用启动中:

Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
        Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "ddMMMyyyy";

但它没有任何区别,日期总是以其原始格式出现,例如2006 年 1 月 3 日上午 12:00

当前的文化在数据表单中不起作用有什么原因吗?

更新:如果我通过不使用数据表单来实现相同的表单,那么日期的格式是正确的!

【问题讨论】:

    标签: silverlight datepicker dataform


    【解决方案1】:
    controls:DatePicker Text="{Binding PE_START_DATE, Mode=TwoWay, StringFormat='d'}"
    

    【讨论】:

      【解决方案2】:

      您只需在绑定中添加一个 StringFormat='MM/dd/yyyy' 属性。

      <TextBox IsReadOnly="True" TextAlignment="Center" Text="{Binding AlbumDate, StringFormat='MM/dd/yyyy'}" />
      

      【讨论】:

        猜你喜欢
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 2014-10-29
        • 1970-01-01
        • 2011-07-31
        • 2013-06-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多