4

私たちの目標は、さまざまなアプリケーション言語と書式設定 (たとえば、英語のテキストとドイツ語の日付/数値書式) をユーザーに提供することです。これまでのところ、私はさまざまな方法を試してきましたが、最も有望なのはこれです(もちろん、単純化されたハードコードされたバージョンです):

var german = new CultureInfo("de-DE");
var english = new CultureInfo("en-US");

Thread.CurrentThread.CurrentCulture = german;
CultureInfo.DefaultThreadCurrentCulture = german;

Thread.CurrentThread.CurrentUICulture = english;
CultureInfo.DefaultThreadCurrentUICulture = english;
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(english.IetfLanguageTag)));

残念ながら、最後の行では、日付と数字 (テキストだけでなく) にも英語の書式設定が適用されます。また、FrameworkElement にオーバーライドする「CultureProperty」はありません。どこでも StringFormat を使用せずに目的の動作を実現する方法はありますか?

最後の行に英語ではなくドイツ文化を使用しようとすると、一部のテキストが英語ではなくドイツ語になります (これも正しくありません)。

4

1 に答える 1

-1

デフォルトでは、WPF Converter を使用してカルチャ設定を変更できます。

于 2015-10-25T16:52:51.740 に答える