【问题标题】:Resource.resx load dynamically in wpfResource.resx 在 wpf 中动态加载
【发布时间】:2016-01-18 07:54:44
【问题描述】:

我正在制作一个应用程序,在登录之前,用户可以选择语言。 我做了4个不同的文件, - 资源.resx - Resource.IT-it.resx - 资源.ES-es.resx - Resource.DE-de.resx

我想点击加载的语言文件。 目前在 xaml 中调用所以文件:

xmlns:res="clr-namespace:MyClass.Properties;assembly=MyClass"
Title="{x:Static res:Resources.mynamevariable}"

如何让点击舌头,可以充值资源文件? ps .: 4个文件包含相同的变量,以便于绘制翻译。

谢谢

【问题讨论】:

    标签: c# wpf resources load resx


    【解决方案1】:

    试试这个

    MyClass.Properties.Resources.Culture = new System.Globalization.CultureInfo("it-IT");

    而不是

    Thread.CurrentThread.CurrentCulture = new CultureInfo("it-IT");

    【讨论】:

      【解决方案2】:

      您需要将 CultureInfo 设置为用户选择的文化。例如要更改为意大利语,您需要使用:

      Thread.CurrentThread.CurrentCulture = new CultureInfo("it-IT"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("it-IT");

      您的资源文件也应该命名为 Resources.resx - Resources.it-IT.resx - Resources.es-ES.resx - Resources.de-DE.resx

      【讨论】:

      • 我已经测试过但是不行,在 InitializeComponent() 之前设置这个代码;
      • 您的文件也应该称为 Resources.it-IT.resx 等,而不是 Resource.IT-it.resx。
      • 教程集Resource.it-IT.resx
      • 不,它没有,它说 Resources.de-DE.resx
      • 呃事实上,它变成了意大利语 it-IT
      【解决方案3】:

      我已经解决了:

      myclass.Properties.Resources.Culture = new System.Globalization.CultureInfo("it-IT");

      it-IT 可以是 de-DE...fr-FR..ecc

      【讨论】:

        猜你喜欢
        • 2010-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多