Это сводит меня с ума!
У меня есть управляемая RIA Services форма данных в silverlight, которая содержит элемент управления 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>
Я последовал совету, данному в
Как изменить формат даты в элементе управления Silverlight DatePicker?
и добавил следующие строки в мой запуск приложения:
Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "ddMMMyyyy";
но это не имеет значения, дата всегда выходит в необработанном формате, например 1/3/2006 12:00 AM
Есть ли какая-то причина, по которой текущая культура не работает в форме данных?
Обновление: если я реализую ту же форму сложным способом, не используя форму данных, тогда дата в правильном формате!