zoukankan      html  css  js  c++  java
  • Windows Phone 实用开发技巧(20):ApplicationBar 的Text国际化

    我们知道Windows Phone 中ApplicationBar的Text属性不是依赖属性,不能采取绑定的方法实现文本的国际化,那么我们在实际开发中是怎么实现ApplicationBar的文本多语言的呢?有如下几种方法:
    1. 在后置代码中生成AppBar,文本使用资源文件
    这种方法是最简单的方法,就是在将XAML代码翻译为C#代码,其中的一个好处就是Text可以国际化。
    2. 使用静态资源
    这个方法类似于样式,即Text={"StaticResource Appbar_Save"}的形式。

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

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

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

     

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

     

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

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

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

     

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

    新建三个资源XAML(跟Style一样) 

     

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

     

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

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

     

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

     

    如果您喜欢我的文章,您可以通过支付宝对我进行捐助,您的支持是我最大的动力https://me.alipay.com/alexis


    作者:Alexis
    出处:http://www.cnblogs.com/alexis/
    关于作者:专注于Windows Phone 7、Silverlight、Web前端(jQuery)。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过shuifengxuATgmail.com  联系我,非常感谢。

  • 相关阅读:
    Modelsim SE 问题集锦【原创】
    Android Fastboot
    sd_fusing总结
    Quartus II 文件类型及备份【原创】
    GNU ARM汇编的.balignl对齐实验
    uboot_smdkv210 分析一:源码目录结构
    怎样理解阻抗匹配【转】
    单文件上传与微信多媒体文件转码
    获取微信签名
    Linux 环境下svn 服务器搭建
  • 原文地址:https://www.cnblogs.com/alexis/p/2170276.html
Copyright © 2011-2022 走看看