4

对于 C#/XAML 中的 Windows 8 应用程序,我需要访问特定的资源文件。在 WP7 中我使用了 resx 文件,现在看来我们需要使用 resw 文件。它不是语言资源文件。我的文件名为 ConfigResources.resw,它只包含一个键:“ConfigFile”和一个值:一个字符串。

如何从我的代码中访问它?我试过这个没有任何运气:

   var storedConfigFile = Application.Current.Resources["ConfigResources"];

那么如何从我的代码中编辑键的值呢?

谢谢

4

3 回答 3

7

我最近在 CodePlex 上创建了一个名为ResW 文件代码生成器的项目,它简化了在 windows 商店应用程序项目中的代码中使用本地化资源。它是一个自定义工具,可以自动生成和更新一个帮助类,类似于 .NET 完整版中使用的 ResX 文件

于 2012-11-15T06:26:54.060 回答
5

根据这里,您需要使用Windows.ApplicationModel.Resources.ResourceLoaderWindows.ApplicationModel.Resources.Core命名空间提供与 resw 文件的交互。

它应该看起来像这样:

var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
var text = loader.GetString("Farewell");

或者,如果您正在创建一个跨平台库,您也可以使用System.Resources.ResourceManager

尽管 System.Resources.ResourceManager 类包含在 .NET for Windows Store 应用程序中,但我们不建议使用它。仅在作为可移植类库项目开发且面向多个平台的库中使用 ResourceManager。

像这样从这里

ResourceManager rm = new ResourceManager("Strings", typeof(Example).Assembly);
string timeString = rm.GetString("TimeHeader");
于 2012-09-05T13:30:20.917 回答
4

有一个示例显示了在 WinRT 应用程序中读取资源的不同方法(即从 resw 文件)。

于 2012-09-13T20:08:26.173 回答