Silverlight 2中多语言支持实现(上)
[1] Silverlight 2中多语言支持实现(上)
[2] Silverlight 2中多语言支持实现(上)
[3] Silverlight 2中多语言支持实现(上)
[4] Silverlight 2中多语言支持实现(上)
[5] Silverlight 2中多语言支持实现(上)
[2] Silverlight 2中多语言支持实现(上)
[3] Silverlight 2中多语言支持实现(上)
[4] Silverlight 2中多语言支持实现(上)
[5] Silverlight 2中多语言支持实现(上)
实现
有了上面这些资源,我们很容易想到利用Silverlight中的静态资源来绑定到UI控件上面,首先定义资源文件:
绑定到UI控件上,如我们放置三个按钮:
最后我们只剩下一步工作,就是指定当前线程的语言文化和UI语言文化,这一点我们可以在Application_Startup事件中来实现,我们设置为zh-CN,如下代码所示:
至此工作完成,可是当我们编译时却发现有这样的错误:
Type 'Strings' is not usable as an object element because it is not public or does not define a public parameterless constructor or a type converter
很明显Strings类型的构造函数访问性不是public,打开Strings.Design.cs文件可以看到,它的构造函数是internal的,这一点好办,手工修改为public(也许该问题将会在RTM中解决)。但是要注意,每次当修改完Resource文件后,它会再次变为internal类型。