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

2つの違いは、新しく作成されたスレッド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 に答える