【问题标题】:Silverlight (RIA Services) spontaneous culture changingSilverlight(RIA 服务)自发的文化改变
【发布时间】:2010-06-11 07:11:00
【问题描述】:

我启用 RIA 的 Silverlight 应用程序正在 App 构造函数中设置线程文化(这绝对可以,因为它是一个 Intranet 应用程序,永远不会被非德国人使用):

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

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

【问题讨论】:

    标签: silverlight wcf-ria-services culture


    【解决方案1】:

    似乎不是每个控件都继承了线程文化。只是为了好玩,我显示了控件的语言,它总是设置为en-US。为了解决这个问题,我将语言 de-DE 硬编码为 DataForm 的样式。

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

    【讨论】:

      【解决方案2】:

      正如 Marc Wittke 所说,线程文化并不是每个控件都继承的(到底为什么???)

      无论如何,您不需要对值进行硬编码,这会将这一行放入您的 Control 构造函数中:

      语言 = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name);

      而你的控制将使用 CurrentCulture。

      干杯,

      安德烈

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-06
        相关资源
        最近更新 更多