关于CurrentThread更改的WPF CurrentUICulture

时间:2016-03-15 18:33:01

标签: c# wpf textbox internationalization cultureinfo

我有一个我正在写的程序,它改变了启动时的程序文化。在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回到默认状态。

1 个答案:

答案 0 :(得分:0)

我设法通过将{ "AWSEBDockerrunVersion": 2, "containerDefinitions": [{ "name": "container-0", "essential": "false", "image": "ubuntu", "memory": "512" }, { "name": "container-1", "essential": "false", "image": "ubuntu", "memory": "512", "privileged": "true" }] } 设置为新文化来实现它。