Silverlight不能正确读取我的资源文件

本文关键字:我的 资源 源文件 读取 不能 Silverlight | 更新日期: 2023-09-27 18:17:37

我已经为英语(MyResourcesFile1.resx)和法语(MyResourcesFile1.fr.resx)创建了.resx文件。它们都有Access Modifier到Public,它们都是Embedded Resource

在app. example .cs中,甚至Application_Startup包含:

  var languageInfo = new CultureInfo("fr");
  Thread.CurrentThread.CurrentCulture = languageInfo;
  Thread.CurrentThread.CurrentUICulture = languageInfo;

在Silverlight代码的许多地方,我使用了Visual Studio提供的生成属性。

 string myString = MyResourcesFile1.MyPropertyValue;

不幸的是,它只从英文文件中获取本地化字符串。为什么?

Silverlight不能正确读取我的资源文件

通过阅读大量的Microsoft文档,我终于使它工作了。

Visual Studio 2010还没有一个菜单来为Silverlight项目添加支持的语言。要使应用程序能够处理所有资源文件,需要对其进行修改。第一步是用记事本打开项目解决方案。完成后,搜索SupportedCultures。在括号内,您可以添加所需的语言(不需要添加默认语言)。所以我的现在是这样的:

<SupportedCultures>fr
</SupportedCultures>

重新加载项目并编译。如果您像我在应用程序启动中所做的那样设置线程,则资源将被正确加载并显示。

其中一个选项是在App.xaml.cs中设置文化,你可以在其中设置object标签。

<object ...>
     ...
     <param name="culture" value="de-de" />
     <param name="uiculture" value="de-de" />
    ...
</object>