如何通过XAML绑定设置当前的CultureUI

时间:2010-09-17 11:54:06

标签: wpf xaml textblock currentculture

我有一个绑定到字符串的TextBlock。我希望字符串显示在应用程序的当前UI文化中。我想在XAML中这样做。文本块很简单,如下所示。

<TextBlock Text="{Binding Path=Text}"/>

1 个答案:

答案 0 :(得分:2)

您需要设置FrameworkElement.Language属性。对整个应用程序执行此操作的最简单方法是覆盖App类静态构造函数中的属性元数据:

public partial class App : Application
{
    static App()
    {
        FrameworkElement.LanguageProperty.OverrideMetadata(
            typeof(FrameworkElement),
            new FrameworkPropertyMetadata(
                XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
    }
}

如果您只想为特定控件设置区域性,可以将其Language属性绑定到datacontext的属性:

<TextBlock Text="{Binding Something}" Language="{Binding TheLanguage}" />