WPF DatePicker默认为美国风格日期而非英国

Ric*_*rey 3 .net user-interface wpf-controls c#-4.0

我在我的WPF格式中使用了一个DatePicker,并且遇到的问题是,当用户输入英国格式的日期时,即31/12/1980,WPF似乎想将其转换为美国,所以它读取为12/31/1980年.

这让我在SQL插入中超出了范围异常.

有没有人遇到过这个问题,如果有的话,你是如何解决的?

Chr*_*isF 7

您需要确保UI具有正确的区域设置.

我不确定WPF,但我知道在Silverlight中存在一个错误,即XAML不尊重Windows的语言环境.您必须将以下代码包含在视图的构造函数中:

// Get "StringFormat=c" to honour culture settings.
// From http://timheuer.com/blog/archive/2010/08/11/stringformat-and-currentculture-in-silverlight.aspx
this.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
Run Code Online (Sandbox Code Playgroud)

现在,如果你的计算机没有设置,en-GB但你的应用程序需要这个,你需要通过设置CurrentCulture应用程序线程或传入"en-GB" 强制语言.