2

我有一个 Silverlight 应用程序和相应的托管它的 ASP.Net 应用程序。

我想使用检测到的文化设置来格式化 Silverlight 应用程序中的日期,但我认为它没有正确检测系统设置(或者它使用了一些我不知道的设置作为它们的基础)。

当我检查线程上的文化值(在 ASP.Net 应用程序和 Silverlight 中)时,CurrentCulture 正确设置为 en-GB,但 CurrentUICulture 是 en-US。

我在 Windows 8 上运行,位置和语言都设置为 en-GB。

我使用 Fiddler 检查浏览器设置,并将 Accept-Language 标头值作为 en-GB 发送。

这是我需要更改的网络服务器上的某些设置吗?我正在使用 Visual Studio 的内置开发服务器。

4

2 回答 2

1

首先,澄清一下:

CurrentCulture 适用于日期格式、数字、货币等(不是实际语言)。CurrentUICulture 是 UI 的语言。

您是否在线程中同时设置了 CurrentUICulture 和 CurrentCulture?

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de-ch");
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("de-ch");
于 2013-01-10T16:09:19.547 回答
0

请参阅nicodemus13对 .NET 中 CultureInfo 的 CurrentCulture 和 CurrentUICulture 属性有什么区别的评论

请记住,Microsoft 不会将美国英语和(英国)英语或其他英语的 UI 文化分开。英语没有 MUI,这意味着 CurrentUICulture 在英语机器上将始终为 en-US,无论 CurrentCulture 是什么,可以将其设置为本地化区域设置。

于 2013-09-06T12:50:43.703 回答