Windows Store App 全球化:在XAML元素中引用字符串资源
在应用程序中可以通过XAML元素和后台代码两种方式引用资源文件中的字符串资源。本小节先讲述如何在XAML元素中引用字符串资源的相关知识点。
在XAML元素中可以通过使用x:Uid属性来引用资源文件中的字符串资源,这些字符串资源存储在资源文件中,下面介绍如何在项目中新建资源文件、添加字符串资源以及在XAML元素中通过x:Uid属性引用资源文件中的字符串资源。
在Visual Studio 2012中新建一个Windows应用商店的空白应用程序项目,并命名为StringResourcesInXaml,在项目中新建一个名为“Strings”的文件夹,在“Strings”文件夹下添加一个子文件夹,命名为zh-CN,用于存储语言为中文的资源文件。在zh-CN文件夹中添加资源文件的操作方法是:右键单击“zh-CN”文件夹à添加à新建项,在“添加新项”窗口中选择“资源文件(.resw)”,命名为Resources,然后单击“添加”按钮。打开此资源文件在其中添加如图18-1所示的两个资源。
图18-1在Strings/zh-CN/Resources.resw资源文件中添加的两个资源
完成上述操作后就可以在控件中使用x:Uid属性来引用字符串资源。在MainPage.xaml文件的Grid元素中添加一个TextBlock控件,使用x:Uid属性引用StringResources.Text资源,代码如下所示:
<TextBlock Text="" x:Uid="StringResources" Margin="500,230,660,440" FontSize="25"/>
在上面的代码中,x:Uid属性将检索Strings/zh-CN/Resources.resw资源文件,把StringResources.Text资源的值“你好世界”赋给TextBlock控件的Text属性。在XAML元素中引用资源的资源名称是以“资源名.属性名”的形式在资源文件中写出的,在引用资源时使用x:Uid="资源名"检索资源,使用相应的属性进行接收资源值。这也是为什么图18-1所示的第一个资源是以.Text结尾,而在TextBlock控件中使用Text属性进行接收资源值。在TextBlock控件中,删除Text属性也可以达到一样的效果。这时运行程序,屏幕将显示“你好世界”,效果参见图18-3。
还可以在“Strings”文件夹下添加一个名为“en-US”的文件夹用于存储语言为英语的资源文件。在“en-US”文件夹下新建一个名为“Resources.resw”的资源文件,打开资源文件添加如图18-2所示的资源。
图18-2 在Strings/en-US/Resources.resw资源文件中添加的两个资源
这时更改系统语言首选项,TextBlock控件的Text属性值将根据系统语言首选项的更改而显示不同语言的文本信息。
更改语言首选项的操作步骤是:打开控制面板,选择“时钟、语言和区域”à“语言”。将希望设置为首选项的语言上移到语言列表的第一个位置。如果列表中没有需要使用的语言,可以单击“添加语言”按钮来将这些语言添加到语言列表中,并上移到列表顶端。
在本示例中使用的是中文(简体)和英语两种语言,如果语言列表的顶端不是这两者之一,则应用运行时将采用语言列表中下一种应用支持的语言显示文本信息。如果语言列表中没有英语或中文(简体),则应用会采用本身默认支持的语言来显示文本信息,默认语言写在项目文件的DefaultLanguage属性中,项目文件在项目所在文件夹中,它以.csproj或.vbproj为后缀名。可以用打开记事本的方式打开项目文件,查看并设置DefaultLanguage属性。
若要运行程序查看TextBlock控件显示两种不同语言的文本信息,分别使中文(简体)和英语作为语言首选项。当语言首选项为中文(简体)时,运行程序,在界面上会显示“你好世界”,效果如图18-3所示。当语言首选项为英语时,运行程序,在界面上会显示“Hello World”,效果如图18-4所示。
图18-3 首选语言项为中文(简体)时的效果 图18-4 首选语言项为英语时的效果
本小节讲解了如何在XAML元素中使用x:Uid属性引用资源文件中的字符串资源,下一小节将讲述如何在XAML元素中引用文件资源。
Windows Store App 全球化:在XAML元素中引用字符串资源的更多相关文章
- Windows Store App 全球化:在后台代码中引用字符串资源
上文提到了引用字符串资源具有两种方式,分别是在XAML元素中和在后台代码中引用资源文件中的字符串资源.在第一小节已经介绍了如何在XAML元素中引用字符串资源,本小节将讲解在后台代码中引用字符串资源的相 ...
- Windows Store App 全球化:在XAML元素中引用文件资源
上一小节讲解了如何在XAML元素中使用x:Uid属性引用资源文件中的字符串资源,通过改变语言首选项显示不同的运行结果.如果把字符串资源变成文件资源,就不能使用x:Uid属性来引用这些文件资源.本小节将 ...
- Windows Store App 全球化:引用类库资源
前面几个小节介绍了如何引用自身项目的资源,而有时在应用程序开发过程中可能需要访问其他项目中的资源.例如,当几个人或十几个人一起设计一个解决方案时,每个人的工作都是不同的,编写的项目也是不同的,但是每个 ...
- Windows Store App 全球化:应用中设置语言选项
当开发者将开发的应用上传到Windows应用商店以后,使用Windows 8系统的用户可能会看到并下载这些应用,而这些用户所在的区域或者所使用的语言可能都不相同,如果他们在使用应用程序时希望改变应用显 ...
- Windows Store App 全球化:引用分离资源文件中的资源
大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用 ...
- Windows Store App 全球化 资源匹配规则
上面几个小节通过示例介绍了如何引用资源以及设置应用语言来显示不同语言的信息,这些示例都只是添加了简体中文和英语两种语言来显示资源,而在一些复杂的应用程序中,字符串资源可能会被定义成多种语言,文件资源也 ...
- Windows Store App 全球化 设置指定页面的语言
上一小节介绍了通过在应用程序中添加语言设置选项来改变整个应用显示信息的语言,而有时用户只想对应用中某一页面信息的语言进行调整,这时就不能使用上一小节所讲述的知识来对应用进行设置.下面将通过一个示例介绍 ...
- Windows Store App 全球化:运行时响应语言变更
在应用程序运行过程中,系统的语言.像素.对比度等系统设置可能会发生改变,应用程序应根据系统环境的改变及时做出适当的响应.为了解决这样的问题,可以在应用程序中为系统状态更改事件注册事件处理方法,当语言. ...
- Windows Store App 过渡动画
Windows Store App 过渡动画 在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...
随机推荐
- 字符编码 and cpp
预备知识 字符:抽象的最小文本单位.仅代表符合没有实际意义(如:¥, a, 国) 字符集:字符的集合(如gb2312, ASCII, UNICODE) 编码:是对字符集的描述,计算机要准确的处理各种字 ...
- kali无法输入中文
已经装了fcitx,之前都是可以用的,今天启动时发现无法切换出中文输入法 用 Fcitx config tool查看发现输入法表里面是空的 最后发现是启动时fcitx进程没自动运行,加入自动运行后重启 ...
- CSS:opacity 的取值范围是 0~1
CSS:opacity 的取值范围是 0~1,难怪设置为 1~100 看不到效果.
- [selector1][selector2][selectorN]
复合属性选择器,需要同时满足多个条件时使用. 描述: 找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的 HTML 代码: <input id="man-news& ...
- Create Your Tab and LayerTabMenu In Katana
感谢 http://tool.lu/pyc/ 这个牛逼的网站能反编译pyc...他妈的Katana太他妈无耻了,竟然不让自定义加Node Tab Content....只能反编译他的东西了... 研究 ...
- Maven单元测试报告及测试覆盖率
对junit单元测试的报告:类似这样的结果 ------------------------------------------------------- T E S T S ----------- ...
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...
- Js 类定义的几种方式
提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for ...
- 【OOAD】OOP的主要特征
聚合 “虚包含” 不明确组合 “实包含” 明确 抽象(abstract)抽象:抽象是通过特定的实例抽取共同特征以后形成概念的过程.它强调主要特征,忽略次要特征.一个对象是现实世界中一个实体的抽象,一个 ...
- python uuid、hex study
由 import uuid product[“SourceInfo"]["ProductID"] = uuid.uuid4().hex 引起的uuid 一.概述 uuid ...