2

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

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

4

1 回答 1

2

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

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

如果只想为特定控件设置区域性,可以将其Language属性绑定到数据上下文的属性:

<TextBlock Text="{Binding Something}" Language="{Binding TheLanguage}" />
于 2010-09-17T12:06:02.340 回答