对于C#/ XAML中的Windows 8应用程序,我需要访问特定的ressource文件。在WP7中,我使用了resx文件,现在看来我们需要使用resw文件。它不是语言资源文件。 我的文件名为ConfigResources.resw,它只包含一个键:“ConfigFile”和一个值:一个字符串。
如何从我的代码中访问它?我试了一下没有运气:
var storedConfigFile = Application.Current.Resources["ConfigResources"];
然后如何从我的代码中编辑内部键的值?
谢谢
答案 0 :(得分:7)
我最近在CodePlex上创建了一个名为ResW File Code Generator的项目,它简化了在Windows应用商店项目中使用代码中的本地化资源。它是一个自定义工具,可以自动生成和更新一个类似于完整版.NET中使用的ResX文件的帮助程序类
答案 1 :(得分:5)
根据here,您需要使用Windows.ApplicationModel.Resources.ResourceLoader
和Windows.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仅在开发为Portable Class的库中 图书馆项目,目标是多个平台。
来自here:
ResourceManager rm = new ResourceManager("Strings", typeof(Example).Assembly);
string timeString = rm.GetString("TimeHeader");
答案 2 :(得分:4)
有一个sample显示了在WinRT应用程序中读取资源的不同方法(即从resw文件中读取)。