问题描述
|
我的PC的区域设置为英国,但是我的Silverlight的默认区域性设置为美国。
我发现这篇出色的文章解释了这将是WPF中的默认行为,他还提供了解决方案。
如何在WPF中设置和更改文化
不幸的是,通常情况下,我无法在Silverlight中使用此代码。没有OverrideMetadata方法。所以我的问题是Silverlight开发人员如何解决这个问题?
高度赞赏
解决方法
经过数周的研究,我终于找到了解决方案。
您在Silverlight中要做的就是将其放入最顶部的窗口(如Prism中的容器或Shell)
this.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
值得关注的是此博客:http://timheuer.com/blog/archive/2010/08/11/stringformat-and-currentculture-in-silverlight.aspx
, 我相信必须在调用InitializeComponent();
之后立即在构造函数中设置页面的语言,创建一个PageBase
类来做到这一点可能是一个好主意,但是我很难让设计人员喜欢我的Page基类。过去