2

来自 App.cs 中的 OnLaunched

这是工作...

Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "da-DK";

但这些都不是……

System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo("da-DK");
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = new System.Globalization.CultureInfo("da-DK");

我没有反映它,但后者不应该一样好吗?

我在这里遗漏了一点?

4

1 回答 1

3

两者的区别在于System.Globalization.CultureInfo.DefaultThreadCurrentCulture = new System.Globalization.CultureInfo("da-DK"); 定义新创建线程的默认区域性。这意味着已经在运行的线程不受它的影响。要更改已运行线程的文化,您需要使用该System.Globalization.CultureInfo.CurrentCulture运行线程内的属性。

Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "da-DK";

范围更广,也会修改已经运行的线程。但它更多地被用作应用程序中的“语言选择”,而不是替代 CultureInfo(它不仅用于语言,还用于转换、度量、格式化等)

于 2012-08-27T12:03:51.640 回答