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