Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多线程wpf应用程序设置线程cultureinfo_Wpf_Multithreading_Cultureinfo - Fatal编程技术网

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

多线程wpf应用程序设置线程cultureinfo,wpf,multithreading,cultureinfo,Wpf,Multithreading,Cultureinfo,我正在开发一个多线程wpf应用程序。为了执行全球化,我尝试在app.xaml.cs中将当前线程的(主线程)区域性设置为不变的CultureEE,以便app domain中的所有C#对象都使用区域性不变信息。但是当许多线程使用被调用的工作线程时,问题就出现了,这些线程的区域性默认为我不想要的OS区域性设置。请帮助我找出创建的工作线程从主线程继承CultureInfo的方法。我认为没有办法将区域性分配给整个AppDomain。最好的选择可能是使用帮助器类来实例化线程 class ThreadHelp

我正在开发一个多线程wpf应用程序。为了执行全球化,我尝试在app.xaml.cs中将当前线程的(主线程)区域性设置为不变的CultureEE,以便app domain中的所有C#对象都使用区域性不变信息。但是当许多线程使用被调用的工作线程时,问题就出现了,这些线程的区域性默认为我不想要的OS区域性设置。请帮助我找出创建的工作线程从主线程继承CultureInfo的方法。我认为没有办法将区域性分配给整个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;
    }
}
这样做:

if (Thread.CurrentThread.CurrentCulture.Name != "en-US")
{
    var culture = CultureInfo.CreateSpecificCulture("en-US");
    CultureInfo.DefaultThreadCurrentCulture = culture;
    CultureInfo.DefaultThreadCurrentUICulture = culture;
}
正如您所看到的,这将为后台线程和UI线程设置默认区域性。如果你把这个放到app.xaml中,那么你应该已经准备好了