2

WinRTのCurrentCultureを使用して日時の値をフォーマットしようとしています。しかし、CurrentCultureプロパティはシステムカルチャを尊重していないようです。

次の2つのプロパティを試しました。

System.Globalization.CultureInfo.CurrentCulture.DisplayName
System.Globalization.CultureInfo.CurrentUICulture.DisplayName

コントロールパネルで地域を変更しても、どちらも英語(米国)になります。ただし、これはWPFでは完全に機能します。私は何が間違っているのですか?

4

3 に答える 3

1

使用できる InvariantCulture 設定を取得するには、

"ApplicationLanguages.PrimaryLanguageOverride = CultureInfo.InvariantCulture.TwoLetterISOLanguageName;"

これは私にとってはうまくいきました。

于 2013-05-29T09:01:57.107 に答える
1

WinRT は、Windows.Globalisation 名前空間で公開されている API を使用します。ApplicationLanguages クラスを見てください。

http://msdn.microsoft.com/en-us/library/windows/apps/hh972395.aspx

このクラスは、Languages、ManifestLanguages、および PrimaryLanguageOveride プロパティを公開します

于 2013-02-26T10:55:18.533 に答える
1

最新のアプリケーションは、ユーザー言語リストを使用して、デフォルトのアプリケーション言語を決定し、そのアプリケーション言語を使用して CurrentCulture と CurrentUICulture を初期化します。デスクトップ アプリ (wpf) は、これらをユーザーの既定の UI 言語とロケールに初期化します。

次の 2 つのうちのいずれかが発生しています。アプリケーションが、en-US をデフォルトとして持つ限られた言語リソースのセットで構築されており、これらの言語のいずれもユーザー言語リストに含めていないか、en-US が最初の言語になっています。アプリにリソースがあるユーザー言語リスト。

于 2014-10-01T17:56:39.880 に答える