Win8开发中如何加载字符串资源(C#)
你可以从资源文件或库等对象中加载字符串资源。
创建资源文件的方法:
在资源项目或库、控件、软件开发包中创建一个Strings文件夹在文件夹,然后在他的下面在创建一个新的文件夹,将新文件夹命名为 "en-US"。该资源文件放在根据BCP-47语言标记命名的文件夹中。请参阅如何使用限定符命名资源,了解语言限定符的详细信息和一组常见的语言标记。
你可以通过BCP-47语言标记命名创建多个资源文件
然后再在每个资源文件中创建1~N个资源文件(.resw)
注意:大部分应用程序仅需要单个默认资源文件,在一些应用程序中最好将资源分离到多个资源文件中,以实现组件分离
创建结果如图:
并在各个资源文件中编辑几个字符串
特别注意的是在名称中你不能创建一个”String111“然后再创建一个“String111.Text”在这种情况下“String111.Text“是不会被识别出来的
我接下来介绍从资源文件或库中加载字符串的方法:
从资源文件中加载字符串:
1、UI加载方式
<TextBlockx:Uid="ApplicationName123"></TextBlock>
2、C#加载方式
var res = Windows.ApplicationModel.ResourceLoader('Resources');
res.GetString('Applictionname');
注意:这里的Resources是你的资源文件的文件名(默认是Resources)
从库中加载字符串:
新建一个AppResourcesLibrary类库,然后创建资源文件,跟上面写的步骤是一样的
1、UI加载方式
<TextBlockx:Uid="/AppResourcesLibrary/Resources/ApplicationName123"></TextBlock>
2、C#加载方式
void AppResourceLibraryBtn_Click(objectsender, RoutedEventArgs e)
{
varresourceloader = new ResourceLoader("AppResourcesLibrary/Resources");
resourceloader.GetString("ApplicationName")
}
这里的AppResourcesLibrary替换为你的类库名称,Resources替换为你的资源文件名
本文转自HDDevTeam 51CTO博客,原文链接:http://blog.51cto.com/hddev/1359661,如需转载请自行联系原作者