【发布时间】:2012-03-28 13:02:37
【问题描述】:
在小型 Wpf 应用程序中,使用绑定到 DateTime 属性的 DatePicker。 当用户的地区和语言设置以及数字和日期格式为德语时,日期显示为德语,日历显示德语月份名称。 现在我想用美式英语获得它。在 MainWindow 的 c'tor 中,我在 InitializeComponent() 之前添加(在 InitializeComponent() 之后执行此操作时的情况相同):
string uiLanguage = ConfigurationManager.AppSettings["UILanguage"]; //"en-US"
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(uiLanguage);
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(uiLanguage)));
虽然它适用于文本框,但它对 DatePicker 无效。 然后我很狡猾,创建了一个新用户“John English”,以“John English”的身份登录,将他的显示语言设置为英语,并将日期和数字格式设置为美国英语。现在 DatePicker 始终以美国英语格式显示日期,日历显示英语月份名称,即使我将程序的语言设置为德语也是如此。 如何解决?能彻底解决吗?
【问题讨论】:
标签: wpf localization datepicker