首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WPF应用程序中全局设置区域性?

如何在WPF应用程序中全局设置区域性?
EN

Stack Overflow用户
提问于 2009-08-12 12:08:51
回答 5查看 24.8K关注 0票数 12

我想将WPF应用程序的区域性设置为基于用户首选项的特定区域性。

我可以通过Thread.CurrentThread.Current(UI)Culture对当前线程执行此操作,但有没有办法全局地对应用程序执行此操作(因此它会默认影响所有线程)?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-12 12:12:43

没有办法为应用程序中的所有线程设置区域性,但是,如果您在应用程序中创建线程,则可以如上所述为每个人设置区域性。

要将区域性设置为主应用程序,请使用以下代码片段:

代码语言:javascript
复制
Dim newCulture As CultureInfo = new CultureInfo("fr-FR")
CurrentThread.CurrentCulture = newCulture
票数 11
EN

Stack Overflow用户

发布于 2009-08-12 12:14:19

试着把

代码语言:javascript
复制
<UICulture>en-US</UICulture>

..。在您的csproj文件中。

票数 6
EN

Stack Overflow用户

发布于 2014-06-10 22:33:34

好的,这就是我所使用的,以确保我的所有应用程序都是在美国文化中。

代码语言:javascript
复制
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("en-US");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("en-US");
XmlLanaguage lang = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(lang));
FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(System.Windows.Documents.TextElement), new FrameworkPropertyMetadata(lang));

为了在区域性中创建单个线程,您可以

代码语言:javascript
复制
Thread.CurrentThread.CurrentCulture = new CultureInfo("EN-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("EN-US");
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1265773

复制
相关文章

相似问题

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