大部分应用程序仅需要单个默认资源文件,例如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 全球化:引用分离资源文件中的资源的更多相关文章

  1. Windows Store App 全球化:在XAML元素中引用文件资源

    上一小节讲解了如何在XAML元素中使用x:Uid属性引用资源文件中的字符串资源,通过改变语言首选项显示不同的运行结果.如果把字符串资源变成文件资源,就不能使用x:Uid属性来引用这些文件资源.本小节将 ...

  2. Windows Store App 全球化:在后台代码中引用字符串资源

    上文提到了引用字符串资源具有两种方式,分别是在XAML元素中和在后台代码中引用资源文件中的字符串资源.在第一小节已经介绍了如何在XAML元素中引用字符串资源,本小节将讲解在后台代码中引用字符串资源的相 ...

  3. Windows Store App 全球化:在XAML元素中引用字符串资源

    在应用程序中可以通过XAML元素和后台代码两种方式引用资源文件中的字符串资源.本小节先讲述如何在XAML元素中引用字符串资源的相关知识点. 在XAML元素中可以通过使用x:Uid属性来引用资源文件中的 ...

  4. Windows Store App 全球化:引用类库资源

    前面几个小节介绍了如何引用自身项目的资源,而有时在应用程序开发过程中可能需要访问其他项目中的资源.例如,当几个人或十几个人一起设计一个解决方案时,每个人的工作都是不同的,编写的项目也是不同的,但是每个 ...

  5. Windows Store App 全球化 资源匹配规则

    上面几个小节通过示例介绍了如何引用资源以及设置应用语言来显示不同语言的信息,这些示例都只是添加了简体中文和英语两种语言来显示资源,而在一些复杂的应用程序中,字符串资源可能会被定义成多种语言,文件资源也 ...

  6. Windows Store App 全球化 设置指定页面的语言

    上一小节介绍了通过在应用程序中添加语言设置选项来改变整个应用显示信息的语言,而有时用户只想对应用中某一页面信息的语言进行调整,这时就不能使用上一小节所讲述的知识来对应用进行设置.下面将通过一个示例介绍 ...

  7. C#调用Resources.resx资源文件中的资源

    使用到了.NET中的资源文件,也就是Resources.resx,于是就学会了如何调用资源文件中的资源.首先,资源文件可以从项目属性中的资源标签添加.比如,我添加一个图片,叫做aaa.png,添加入资 ...

  8. Windows Store App 全球化:应用中设置语言选项

    当开发者将开发的应用上传到Windows应用商店以后,使用Windows 8系统的用户可能会看到并下载这些应用,而这些用户所在的区域或者所使用的语言可能都不相同,如果他们在使用应用程序时希望改变应用显 ...

  9. Windows Store App 全球化:运行时响应语言变更

    在应用程序运行过程中,系统的语言.像素.对比度等系统设置可能会发生改变,应用程序应根据系统环境的改变及时做出适当的响应.为了解决这样的问题,可以在应用程序中为系统状态更改事件注册事件处理方法,当语言. ...

随机推荐

  1. AMQP

    AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.基于此协议的客户端 ...

  2. JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?

    JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 联系: JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达. JSP编译后是& ...

  3. windows环境下Django安装配置

    --python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...

  4. 较全的IT方面帮助文档

    http://www.shouce.ren/post/d/id/108632 XSLT参考手册-新.CHMhttp://www.shouce.ren/post/d/id/108633 XSL-FO参考 ...

  5. UBI系统原理分析【转】

    转自:http://blog.chinaunix.net/uid-28236237-id-4164656.html 综述 UBI全称Unsorted Block Images,是一种原始flash设备 ...

  6. Apple开发者账号简介

    苹果对开发者主要分为3类:个人.组织(公司.企业).教育机构.即: 1.个人(Individual) 2.组织(Organizations) 组织类又分为2个小类: (1)公司(Company) (2 ...

  7. LeetCode算法题解

    1.给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?(181) 解法一:举例说明,为了减少复杂度,就使用八位二进制吧. ...

  8. jQuery和Ajax的使用(杂记)

    在jsp文件的获取绝对路径标签,其他jsp文件调用就行了 <%@ page language="java" contentType="text/html; char ...

  9. CSS 高级语法 ---- 继承和选择器的分组

    1. 选择器的分组 —————————————————————————   可以对选择器进行分组,被分组的选择器享用共同的声明.   h1,h2,h3,h4,h5,h6 { color: green; ...

  10. Duilib实现QQ聊天窗口晃动

    转载:http://blog.csdn.net/arbboter/article/details/26282717 转载:http://blog.csdn.net/zerolusta/article/ ...