我有一个Silverlight应用程序,允许用户在应用程序中切换语言。切换语言后,我们将Thread.CurrentThread.CurrentUICulture设置为新文化。这适用于我们的本地资源文件,并且没有问题。
但是,Silverlight datepicker控件不会切换文化。它似乎只能吸收最初设定的文化。因此,如果我在App.xaml.cs构造函数中切换文化,那么我会看到其他文化。但是,如果我在应用程序启动并运行后更改文化,则它不会在DatePicker控件中更改。
可以这样做吗?
编辑:为了清楚下面的答案(来自评论),我必须将Thread.CurrentThread.CurrentCulture设置为新的文化,以使其在DatePicker中切换。
答案 0 :(得分:2)
尝试在UserControl的构造函数中插入此代码,该构造函数使用DatePicker
之前调用InitializeComponent
。
Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentUICulture.Name);
尝试在加载Xaml后修改语言不会影响控件的行为。因此,如果您希望通过文化转换获得真正的动态,这可能无济于事。