這使我瘋狂!在Silverlight DataForm中格式化DatePicker控件中的日期
我在Silverlight中有一個RIA Services驅動的數據表單,它包含一個datepicker控件。我想以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";
,但它並沒有任何區別,日期總是以原始格式出現,例如1/3/2006 0:00
有什麼理由爲什麼當前的文化不能在數據表單中工作?
更新:如果我通過不使用數據表單的方式實現相同的表單,那麼日期的格式是正確的!