У меня есть объект WPP DatePicker.WPF DatePicker - опции автозамены
<DatePicker Name="dtp_FilterByDate" />
и
<Application.Resources>
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Text" Value="Filter by date..." />
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<TextBox x:Name="PART_TextBox"
Text="{Binding Path=SelectedDate, StringFormat = {}{0:yyyy-MM-dd}, FallbackValue='1900-01-01', TargetNullValue='Enter a date...',
RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
Когда я вручную ввести дату в поле автоматически корректирует его (я понимаю, что он использует Date.parse затем форматирует как я указываю выше), но он не обращая внимания на факт, что культура моего ПК является en-GB.
Например, если я ввожу
07/10/1988
это autocorrects его
1988-07-10
т.е. установка месяца до 7 и на следующий день до 10 - что не ожидаемое поведение для моего ПК «ан -GB ", которая ожидает от 1988-10-07 для указанного формата yyyy-MM-dd.
Если я вхожу
23/05/2007
DatePicker показывает ошибку, а не разбор правильно.
Есть ли способ установить культуру для datepicker (или, как правило, для всех вызовов Date.Parse в приложении) вручную, чтобы соответствовать моим компьютерам или даже указывать en-GB во всех случаях?
Edit - больше информации
DirectCast(dtp_FilterByDate.Template.FindName("PART_TextBox", dtp_FilterByDate), TextBox)
показывает мне, что язык является "EN-US", - но я не знаю, почему это так.