多线程wpf应用程序设置线程cultureinfo

时间:2010-11-11 22:20:21

标签: wpf multithreading cultureinfo

我正在研究一个多线程的wpf应用程序。为了执行全球化,我尝试将当前线程的(主线程)文化设置为app.xaml.cs中的不变文化,以便app域中的所有C#对象都可以处理文化不变信息。但是当许多线程使用工作线程调用时会出现问题,这些线程的文化默认为我不想要的OS Culture设置。帮助我找出创建的工作线程从主线程

继承CultureInfo的方法

2 个答案:

答案 0 :(得分:2)

我认为没有办法将文化分配给整个AppDomain。您最好的选择可能是使用帮助程序类来实例化线程。

class ThreadHelper
{
    public static Thread getThread(ThreadStart start, int maxStackSize)
    {

        Thread t = new Thread(start,maxStackSize);
        t.CurrentCulture = new System.Globalization.CultureInfo(3081);
        return t;
    }
}

答案 1 :(得分:0)

这样做:

if (Thread.CurrentThread.CurrentCulture.Name != "en-US")
{
    var culture = CultureInfo.CreateSpecificCulture("en-US");
    CultureInfo.DefaultThreadCurrentCulture = culture;
    CultureInfo.DefaultThreadCurrentUICulture = culture;
}

正如您所看到的,这为后台和UI线程设置了默认文化。如果你把它放在你的app.xaml中那么你应该全部设置。

相关问题