2010-06-11 74 views
0

启用了我的RIA Silverlight应用程序在App构造函数中设置线程文化(因为它是Intranet应用程序,绝对不会被非德语的人使用):Silverlight(RIA Services)自发改变文化

public App() { 
    InitializeComponent(); 
    Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE"); 
} 

它做它应该的,DataForms显示日期时间值用德语表示法。但是:在绑定到DataForm的数据源中的项目之间导航时,它会自动更改为en-US符号。为什么?

回答

0

看来,线程文化不是由每个控件继承。为了好玩,我展示了控制语言,它被设置为en-US。为了解决这个问题,我在DataForm的样式中硬编码了语言de-DE

同样的问题是described by Hannes (in german)。令人惊讶的是,在这种情况下,恰恰相反:DataForm是德语,但网格是英语。

0

正如马克Wittke说,线程文化不是由每个控制继承(为什么地球上???)

任何方式,你不需要硬编码值,该把这个线在你的控制构造:

Language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name);

而你控制的将会使用CurrentCulture。

干杯,

安德烈

相关问题