其实此篇blog本不是这时候发表的,但由于爱恨纠缠,还是将此备忘先写下来罢,免得到时又忘记——只要自己还在弄WP的东西估计不会那么快就是啦。WP8的开发,其实跟WinRT的开发大同小异而已,满眼都是C#跟xaml,我真是恨透了xaml,可是,用惯了其实还挺上心的,新学一门技术,最困难的永远是入门。
WP8的开发环境我用的VS2013,本身支持的控件不多,如日历等就没有啦,若想从基础控件搭起恐怕有难度,WP Toolkit是微软自身开发的第三方控件库,像常用的DatePicker跟TimePicker用起来就相当方便(具体怎么加载稍后附上,自己百度的话也可以完全弄明白),不过问题在于Toolkit的本地化出现了问题,如下图所示,星期跟月份的显示就很正常,可标题跟任务栏的文字却只显示英文。因为这个问题,我几乎用了整整一天的时间去各种搜索,搜到一篇相关的帖子可还是弄不到头绪,下载了源码来看,两者APP加载时,源码的工程是会加载Microsoft.Phone.Controls.Toolkit.resources.dll的,自己新建的工程却没有这一项,可以基本判断自己的工程加载Toolkit的语言包出了问题。
经过一番挣扎,最终的问题原因归结为:新建工程的默认语言必须为en-US(万恶的美帝)。所以一般使用WP Express 2012英文版来开发是不会有这个问题的,顶多在工程属性里添加一项支持语言为中文(简体)就可以了。以下是具体的解决方法:
(1)修改工程的默认语言
(1-1)修改工程的AssemblyInfo.cs文件,将最后一行的默认语言改为en-US,如下。
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: NeutralResourcesLanguageAttribute("en-US")]
(1-2)为了保险起见,打开WMAppManifest.xml文件,将“打包”选项的默认语言也改为“英语(美国)”
(1-3)自然还有工程属性,将默认语言也为英语。
(1-4)保存工程,再关闭工程,当你再次打开工程时,其默认语言为英语。
(2)添加中文语言的支持
重新打开刚刚修改后的工程,打开项目的属性窗口,在(1-3)图示的地方勾选“中文(简体,中国)”,如下图所示。
保存工程,你会发现在工程的Resources目录下添加了一项AppResources.zh-CN.resx,这个就是Toolkit的本地化语言包。
(3)编译运行
然后就完美支持中文啦,如下图所示:
个人觉得,这样的本地化设置的确是有点恶心,稍后附上Toolkit的源码(现在好像上传需要等一段时间的),有兴趣的朋友可以自己研究。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。