我有一个我正在编写的程序,它改变了启动时的程序文化。在App.cs中:
if (tokens[0].Equals("english"))
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("en-US");
}
else if (tokens[0].Equals("portuguese"))
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("pt-BR");
}
else if (tokens[0].Equals("spanish"))
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("es-CO");
}在这个开关之后,我立即打印出线程和CurrentUICulture名称,看起来没问题。
然而,在TextBox中的GainKeyboardFocus事件中,根据文化的不同,我会发生不同的事情。然而,它似乎不能正常工作。当我打印出线程和CurrentUICulture时,线程看起来是相同的(两者都是线程1),但是CurrentUICulture又回到了缺省值。
发布于 2016-03-16 03:27:09
通过将System.Globalization.CultureInfo.DefaultCurrentUICulture设置为适应新的文化,我设法让它正常工作。
https://stackoverflow.com/questions/36019365
复制相似问题