我的WPF应用程序中的DateTime字符串格式出现问题。我实现了我在此处找到的国际化修复:http://www.nbdtech.com/Free/WpfBinding.pdf以及几个不同的StackOverflow问题。
这适用于特定于文化/区域设置的DateTime字符串格式。但是,当我对文化中的datetimeformat进行自定义更改时,如下所示:
CultureInfo ci = new CultureInfo("en-US");
ci.DateTimeFormat.DateSeparator = ".";
在某些控件中完全忽略了它,例如:DataGrid。而在其他如RichTextBox和DatePicker中,它可以正常工作。这是我在App.xaml.cs中的OnStartup方法:
protected override void OnStartup(StartupEventArgs e)
{
// Set CultureInfo
CultureInfo ci = new CultureInfo("en-US");
ci.DateTimeFormat.DateSeparator = ".";
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(
CultureInfo.CurrentCulture.IetfLanguageTag)));
base.OnStartup(e);
}
有什么想法吗?
谢谢!