首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法为整个应用程序设置文化?所有当前线程和新线程?

有没有办法为整个应用程序设置文化?所有当前线程和新线程?
EN

Stack Overflow用户
提问于 2009-01-22 11:39:58
回答 10查看 172.6K关注 0票数 178

有没有一种为整个应用设置文化的方法?所有当前线程和新线程-

我们有存储在数据库中的区域性的名称,当应用程序启动时,我们这样做

代码语言:javascript
复制
CultureInfo ci = new CultureInfo(theCultureString);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;

但是,当然,当我们想要在一个新线程中做一些事情时,这就会“丢失”。有没有办法为整个应用程序设置CurrentCultureCurrentUICulture?所以新的线程也会得到这种区域性吗?或者,它是在创建新线程时触发的某个事件,我可以连接到该线程吗?

EN

Stack Overflow用户

发布于 2020-04-21 19:11:47

为所有线程和窗口设置CultureInfo的工作解决方案。

  1. 打开App.xaml文件并添加新的“启动”属性,以便为应用程序分配启动事件处理程序:

代码语言:javascript
复制
<Application ........
             Startup="Application_Startup"
>

  1. 打开App.xaml.cs文件,并将此代码添加到创建的启动处理程序(本例中为Application_Startup)。类App将如下所示:

代码语言:javascript
复制
    public partial class App : Application
    {
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            CultureInfo cultureInfo = CultureInfo.GetCultureInfo("en-US");
            System.Globalization.CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
            System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
            Thread.CurrentThread.CurrentCulture = cultureInfo;
            Thread.CurrentThread.CurrentUICulture = cultureInfo;
        }
    }
票数 2
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/468791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档