【问题标题】:Does the Silverlight DatePicker control support switching cultures?Silverlight DatePicker 控件是否支持切换文化?
【发布时间】:2011-11-16 13:05:32
【问题描述】:

我有一个 Silverlight 应用程序,它允许用户在应用程序中切换语言。切换语言时,我们将 Thread.CurrentThread.CurrentUICulture 设置为新的文化。这对我们的本地资源文件非常有用,并且没有问题。

但是,Silverlight 日期选择器控件不会切换文化。它似乎只拾取了最初设定的文化。因此,如果我在 App.xaml.cs 构造函数中切换文化,那么我会看到另一种文化。但是,如果我在应用程序启动并运行后更改文化,它不会在 DatePicker 控件中更改。

这可以做到吗?如何做到?

编辑:为了弄清楚下面的答案(来自评论),我必须将 Thread.CurrentThread.CurrentCulture 设置为新的文化,以使其在 DatePicker 中切换。

【问题讨论】:

    标签: silverlight multilingual


    【解决方案1】:

    尝试在使用DatePicker的UserControl的构造函数中插入此代码调用InitializeComponent之前。

      Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentUICulture.Name);
    

    在加载 Xaml 后尝试修改语言不会影响控件的行为。因此,如果您想在文化转换中获得真正的活力,这可能无济于事。

    【讨论】:

    • 我试过了,但没有用。在问我的问题之前,我曾尝试将 DatePicker 子类化并在其构造函数中设置 Language 也无济于事。
    • @Bryant:经过一番挖掘,我发现DatePicker 依赖于Thread.CurrentCulture 来确定哪个DateFormatInfo。因此,仅CurrentUICulture 无济于事。实际上 CurrentUICulture 只是用来向资源管理器指示如何解析一个 resourceID。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多