在一个小的Wpf应用程序中,使用绑定到DateTime属性的DatePicker。 当用户的区域和语言设置以及数字和日期格式为德语时,日期显示为德语,日历显示德语月份名称。 现在我想用美英来获得它。在主窗口的c'tor(我这样说的时候同样的情况,经过的InitializeComponent())的InitializeComponent()之前加入:如何本地化DatePicker?
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”的身份登录,将他的显示语言设置为英语,日期和数字格式设置为US-English。现在,DatePicker总是以美英文格式显示日期,日历显示英文月份名称,即使将我的程序语言设置为德语时也是如此。 这怎么解决?它可以根本解决吗?
谢谢为提示。但那不是重点:我根本没有兴趣用我自己的本地化文本取代“选择日期”。 zh-CN和de-DE之间的日期格式不同。当我在德国的Windows上将我的应用程序的语言设置为en-US时,我希望看到美式格式的日期。 – 2012-03-28 13:26:20
编辑我的回答 – 2012-03-28 13:53:22
谢谢。设定CurrentCulture,不仅CurrentUICulture,做的伎俩。 – 2012-03-28 14:15:45