博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Store App 全球化:在后台代码中引用字符串资源
阅读量:4605 次
发布时间:2019-06-09

本文共 1993 字,大约阅读时间需要 6 分钟。

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

下面通过一个示例直接讲述如何在后台代码中引用资源文件中的字符串资源。新建一个Windows应用商店的空白应用程序项目,并命名为StringResourcesInCode。在项目中新建一个名为“Strings”的文件夹,在“Strings”文件夹下新建名为“zh-CN”和“en-US”的子文件夹并在这两个子文件夹中添加资源文件,在zh-CN文件夹下的资源文件中输入图18-1所示的资源,在en-US文件夹下的资源文件中输入图18-2所示的资源。

MainPage.xaml文件的Grid元素中添加一个“显示信息”按钮和两个TextBlock文本块,按钮用来获取资源的值并将其显示在其中一个TextBlock文本块中,另一个文本块则用来显示提示信息,代码如下所示:

<Button Content="显示信息" FontSize="25" HorizontalAlignment="Left" Margin="557,170,0,0" VerticalAlignment="Top" Height="59" Width="150" Click="ShowMessage_Click"/>

<TextBlock HorizontalAlignment="Left" Margin="730,185,0,0"  TextWrapping="Wrap" Name="ShowString" VerticalAlignment="Top" Height="44" FontSize="25" Width="152"/>

<TextBlock HorizontalAlignment="Left" Margin="555,130,0,0" TextWrapping="Wrap" Text="单击“显示信息”按钮显示字符串资源" FontSize="20" VerticalAlignment="Top" Height="35" Width="327"/>

MainPage.xaml.cs文件中,为“显示信息”按钮添加单击事件处理方法ShowMessage_Click,单击按钮,将引用的字符串资源值显示出来,代码如下所示:

using Windows.ApplicationModel.Resources;

 

private void ShowMessage_Click(object sender, RoutedEventArgs e)

{

    //新建一个ResourceLoader类的对象resourceLoader

    var resourceLoader = new ResourceLoader();

    //通过GetString方法获取StringResource资源的值

    ShowString.Text = resourceLoader.GetString("StringResource");

}

ShowMessage_Click方法中,新建一个ResourceLoader类的对象resourceLoaderResourceLoader类提供了对各资源文件、引用的库或其他包中的字符串资源的基本访问权限,使用ResourceLoader类需要引用命名空间Windows.ApplicationModel.Resources然后通过resourceLoader对象的GetString方法获取资源文件中资源名为StringResource的值赋给ShowString文本块的Text属性,使字符串资源值显示出来。

当设置语言首选项为中文(简体)时,运行程序,单击“显示信息”按钮,使用简体中文显示“你好世界”,效果如图18-9所示。当设置语言首选项为英语时,运行程序,单击“显示信息”按钮,以英语显示“Hello World”,效果如图18-10所示。

18-9 语言首选项为中文(简体)时效果

  

 18-10 语言首选项为英语时效果

至此引用资源文件中字符串资源的两种方式就全部介绍完了,开发者可以根据应用程序自行选择使用哪种方式引用字符串资源,下面将讲述如何引用分离资源文件中的资源。

值得注意的是,在本章下面的示例当中将多次用到本示例中所使用的资源文件及资源内容,“Hello World”的故事对于程序员来说并不陌生,甚至略显陈旧,但是在本章中通过特意安排使用不同的语言去说“Hello World”,表达了作者希望读者的应用可以推广到全世界的愿望。

转载于:https://www.cnblogs.com/finehappy/p/4222634.html

你可能感兴趣的文章
使用python动态特性时,让pycharm自动补全
查看>>
MySQL数据库免安装版配置
查看>>
你必知必会的SQL面试题
查看>>
html5 Canvas绘制时钟以及绘制运动的圆
查看>>
Unity3D热更新之LuaFramework篇[05]--Lua脚本调用c#以及如何在Lua中使用Dotween
查看>>
JavaScript空判断
查看>>
洛谷 P1439 【模板】最长公共子序列(DP,LIS?)
查看>>
python timeit
查看>>
Wireless Network 并查集
查看>>
51nod 1019 逆序数
查看>>
20145202马超《JAVA》预备作业1
查看>>
云推送注意(MSDN链接)
查看>>
IDEA 生成 jar 包
查看>>
加减乘除混合版
查看>>
linux基础6-bash shell编程
查看>>
掌握这几种微服务模式助你成为更出色的工程师
查看>>
为什么很多语言选择在JVM上实现
查看>>
CSS Reset CSS Framework
查看>>
LeetCode算法扫题系列19
查看>>
nginx获取经过层层代理后的客户端真实IP(使用正则匹配)
查看>>