欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

程序员文章站 2022-04-26 12:42:31
我们知道windows phone 中applicationbar的text属性不是依赖属性,不能采取绑定的方法实现文本的国际化,那么我们在实际开发中是怎么实现applicationbar的文本多语...

我们知道windows phone 中applicationbar的text属性不是依赖属性,不能采取绑定的方法实现文本的国际化,那么我们在实际开发中是怎么实现applicationbar的文本多语言的呢?有如下几种方法:

1. 在后置代码中生成appbar,文本使用资源文件

这种方法是最简单的方法,就是在将xaml代码翻译为c#代码,其中的一个好处就是text可以国际化。

2. 使用静态资源

这个方法类似于样式,即text={"staticresource appbar_save"}的形式。

 

在练习本篇demo之前,大家最好先看下《windows phone 应用程序的全球化》 ,其中涉及到的一些具体细节在本篇中就不说了。

 大致界面如下,为了方便起见,我们在改变语言后就更改当前环境的语言,而导航到另一页面后语言资源就会重新加载。

注:界面语言只有在initializecomponent 的时候才会被重新加载

 Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

首先来看下后置代码的实现方式:

Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

在代码中设置text属性,appresource是什么?--不解释

 

再来看下静态资源的实现方式:

在页面中设置text属性为静态字符串 

Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

那这些静态资源是再哪里定义的呢?

新建三个资源xaml(跟style一样) 

Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

ok,再来看下我们改变语言时会做些什么-- 不解释:)

Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

那如果让应用程序找到静态资源文件呢?我们需要将资源文件动态添加到内存中,如下:

注:由于是资源文件,所以需要加上/项目;component/ 不然会找不到资源

Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

想看运行效果,自己运行demo吧: