[英]WPF DatePicker - autocorrect options
我有一個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然后按照上面的指定對它進行格式化),但它忽略了我的PC的文化是en-GB的事實。
例如,如果我輸入
07/10/1988
它會自動更正為
1988-07-10
例如,將月份設置為7,將日期設置為10-對於我的PC的“ en-GB”文化而言,這不是預期的行為-對於yyyy-MM-dd格式,預期使用1988-10-07。
如果我輸入
23/05/2007
DatePicker顯示錯誤,而不是正確解析。
有沒有辦法手動設置日期選擇器(或應用程序中所有Date.Parse調用的區域性)的文化,以匹配我的PC甚至在所有情況下都指定en-GB?
編輯-更多信息
DirectCast(dtp_FilterByDate.Template.FindName("PART_TextBox", dtp_FilterByDate), TextBox)
告訴我該語言是“ en-US”-但我不知道為什么會這樣。
好的,只是意識到我可以更新自己的樣式來做到這一點。
請執行下列操作:
<TextBox x:Name="PART_TextBox" Text="{...}" Language="en-GB"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.