Windows Store App 全球化:引用分离资源文件中的资源
大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用这些分离资源文件中的资源。下面通过一个示例讲解如何在后台代码中引用分离资源文件中的字符串资源。
新建一个Windows应用商店的空白应用程序项目,并命名为SeparatedResourcesFiles。在项目中添加如18.2.3小节示例中相同的语言文件夹、资源文件以及资源信息。完成上述操作后,在“zh-CN”和“en-US”文件夹下再各添加一个名为“Errors”的资源文件,在这两个Errors资源文件中分别添加图18-11和图18-12所示的字符串资源。
图18-11 zh-CN文件夹下Errors资源文件中添加的资源
图18-12 en-US文件夹下Errors资源文件中添加的资源
接下来在MainPage.xaml文件的Grid元素中添加一个“显示信息”按钮和两个TextBlock文本块,按钮用来获取资源的值并将其显示在其中一个TextBlock文本块中,另一个文本块则用来显示提示信息,代码如下所示:
<Button Content="显示信息" FontSize="20" HorizontalAlignment="Left" Margin="577,185,0,0" VerticalAlignment="Top" Height="44" Width="151" Click="ShowMessage_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="753,194,0,0" TextWrapping="Wrap" Name="SeparatedResources" VerticalAlignment="Top" Height="35" FontSize="25" Width="318"/>
<TextBlock HorizontalAlignment="Left" Margin="577,135,0,0" TextWrapping="Wrap" Text="显示分离资源文件中的字符串资源" FontSize="25" VerticalAlignment="Top" Height="32" Width="384"/>
在MainPage.xaml.cs文件中,为“显示信息”按钮添加单击事件处理方法ShowMessage_Click,单击按钮将分离资源文件中的字符串资源的值显示在SeparatedResources文本块中,代码如下所示:
using Windows.ApplicationModel.Resources;
private void ShowMessage_Click(object sender, RoutedEventArgs e)
{
//新建一个ResourceLoader类的对象resourceLoader
var resourceLoader = new ResourceLoader("Errors");
//通过GetString方法获取InvalidOperation资源的值
SeparatedResources.Text = resourceLoader.GetString("InvalidOperation");
}
在上面的代码中,以分离的资源文件名“Errors”为参数新建一个ResourceLoader类的对象resourceLoader,该参数表示要引用的资源文件为Errors.resw,然后通过resourceLoader对象的GetString方法获取资源文件中资源名为InvalidOperation的值赋给SeparatedResources文本块的Text属性,使字符串资源显示出来。
当设置语言首选项为中文(简体)时,运行程序,单击“显示信息”按钮,使用简体中文显示“这是一个错误操作”,效果如图18-13所示。当设置语言首选项为英语时,运行程序,单击“显示信息”按钮,以英语显示“This is an error operate”,效果如图18-14所示。
图18-13 语言首选项为中文(简体)时调用Errors资源文件中的资源效果图
图18-14 语言首选项为英语时调用Errors资源文件中的资源效果图
由图18-13和18-14可以看出,通过上述方法成功的引用了分离资源文件中的字符串资源。这样就可以在设计应用时将不同类型的资源分离到多个资源文件中以便在不同场合引用不同的资源。
Windows Store App 全球化:引用分离资源文件中的资源的更多相关文章
- Windows Store App 全球化:在XAML元素中引用文件资源
上一小节讲解了如何在XAML元素中使用x:Uid属性引用资源文件中的字符串资源,通过改变语言首选项显示不同的运行结果.如果把字符串资源变成文件资源,就不能使用x:Uid属性来引用这些文件资源.本小节将 ...
- Windows Store App 全球化:在后台代码中引用字符串资源
上文提到了引用字符串资源具有两种方式,分别是在XAML元素中和在后台代码中引用资源文件中的字符串资源.在第一小节已经介绍了如何在XAML元素中引用字符串资源,本小节将讲解在后台代码中引用字符串资源的相 ...
- Windows Store App 全球化:在XAML元素中引用字符串资源
在应用程序中可以通过XAML元素和后台代码两种方式引用资源文件中的字符串资源.本小节先讲述如何在XAML元素中引用字符串资源的相关知识点. 在XAML元素中可以通过使用x:Uid属性来引用资源文件中的 ...
- Windows Store App 全球化:引用类库资源
前面几个小节介绍了如何引用自身项目的资源,而有时在应用程序开发过程中可能需要访问其他项目中的资源.例如,当几个人或十几个人一起设计一个解决方案时,每个人的工作都是不同的,编写的项目也是不同的,但是每个 ...
- Windows Store App 全球化 资源匹配规则
上面几个小节通过示例介绍了如何引用资源以及设置应用语言来显示不同语言的信息,这些示例都只是添加了简体中文和英语两种语言来显示资源,而在一些复杂的应用程序中,字符串资源可能会被定义成多种语言,文件资源也 ...
- Windows Store App 全球化 设置指定页面的语言
上一小节介绍了通过在应用程序中添加语言设置选项来改变整个应用显示信息的语言,而有时用户只想对应用中某一页面信息的语言进行调整,这时就不能使用上一小节所讲述的知识来对应用进行设置.下面将通过一个示例介绍 ...
- C#调用Resources.resx资源文件中的资源
使用到了.NET中的资源文件,也就是Resources.resx,于是就学会了如何调用资源文件中的资源.首先,资源文件可以从项目属性中的资源标签添加.比如,我添加一个图片,叫做aaa.png,添加入资 ...
- Windows Store App 全球化:应用中设置语言选项
当开发者将开发的应用上传到Windows应用商店以后,使用Windows 8系统的用户可能会看到并下载这些应用,而这些用户所在的区域或者所使用的语言可能都不相同,如果他们在使用应用程序时希望改变应用显 ...
- Windows Store App 全球化:运行时响应语言变更
在应用程序运行过程中,系统的语言.像素.对比度等系统设置可能会发生改变,应用程序应根据系统环境的改变及时做出适当的响应.为了解决这样的问题,可以在应用程序中为系统状态更改事件注册事件处理方法,当语言. ...
随机推荐
- Ant安装、环境变量配置及验证
一.安装ant 到官方主页http://ant.apache.org下载新版(目前为Ant1.8.1)的ant,得到的是一个apache-ant-1.8.1-bin.zip的压缩包.将其解压到你的硬盘 ...
- this 的工作原理
JavaScript 有一套完全不同于其它语言的对 this 的处理机制. 在五种不同的情况下 ,this 指向的各不相同. 全局范围内 this; 当在全部范围内使用 this,它将会指向全局对象. ...
- ZOJ 1015 Fishing Net(弦图判定)
In a highly modernized fishing village, inhabitants there make a living on fishery. Their major tool ...
- 使用AppCan实现分享网站功能
使用AppCan实现分享网站功能 昨天我们实现了最基本的文字分享功能,今天呢,我们来实现基本的分享网站功能: 微信指引部分这里不再复述,具体请参见:http://newdocx.appcan.cn/i ...
- 【数论】二进制GCD
二进制GCD GCD这种通用的算法相信每个OLER都会 ,辗转相除,代码只有四行 : int GCD(int a,int b){ if(b==0) return a; return GCD(b ...
- JS逗号运算符的用法详解
逗号运算符的用法详解 注意: 一.由于目前正在功读JavaScript技术,所以这里拿JavaScript为例.你可以自己在PHP中试试. 二.JavaScript语法比较复杂,因此拿JavaScri ...
- sublime设置备份
Settings-user { "font_face": "Consolas", "font_size": 13, "line_p ...
- WPF:设置弹出子菜单的是否可用状态及效果
需求: 设置弹出子菜单(二级)项仅首项可用,其他项均不可用:不可用是呈灰色效果. 注: 菜单项都是依据层级数据模板.具体格式如下: StackBlock{TextBlock{Image}.TextBl ...
- 原生JS--Ajax
原生Ajax: Ajax基础:--ajax:无刷新数据读取,读取服务器上的信息--HTTP请求方法: --GET:用于获取数据,如浏览帖子 --POST:用于上传数据,如用户注册 --GE ...
- phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
[题外话]phpinfo()这个函数可以查看很多php的信息,要 记得使用 phpinfo() 的很多部分有两个Column:Local Value(局部变量)和 Master Value(主变量) ...