1

我有一个 WPF 应用程序,我希望它是两种语言。我复制了我的Resources.resx并构建了我的两种语言,如下所示:

在此处输入图像描述

所以当我第一次加载我的时候,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 回答