簡體   English   中英

WPF DatePicker-自動更正選項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM