1

2 つの言語にしたい WPF アプリケーションがあります。私は自分の言語を複製し、Resources.resx次のように 2 つの言語を構築しました。

ここに画像の説明を入力

したがって、最初にロードするときは次のようMainApplication にします。

Properties.Resources.Culture = new CultureInfo("es-ES");

の前に

InitializeComponent();

したがって、すべてが目的の言語でロードされます。ここで、明らかな一歩を踏み出したいのでSelect language、アプリケーションで を設計しました。

ここに画像の説明を入力

実行時にさまざまな言語のインターフェイスをリロードする方法について何か考えはありますか?

編集:

私はこのリンクを見つけましたが、うまくいくようです。しかし、私には問題があります。を見つけようとするとResources x:key、エラーが発生します... と表示されますResourceReferenceKeyNotFoundExceptionここに行って私の間違いを確認してください。

4

2 に答える 2

3

UIスレッドのカルチャを変更したい場合、これは機能するはずです。

var culture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
于 2013-02-07T12:15:34.413 に答える
0

私はこの興味深いリンクをたどりました。

于 2013-02-11T08:17:49.133 に答える