2
我有一个绑定到字符串的TextBlock。我希望字符串在应用程序的当前UI文化中显示。我想在XAML中这样做。文本块如下所示。如何通过XAML绑定设置当前的CultureUI
<TextBlock Text="{Binding Path=Text}"/>
我有一个绑定到字符串的TextBlock。我希望字符串在应用程序的当前UI文化中显示。我想在XAML中这样做。文本块如下所示。如何通过XAML绑定设置当前的CultureUI
<TextBlock Text="{Binding Path=Text}"/>
您需要设置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}" />
谢谢托马斯,但是,我需要为我的自定义控制库做到这一点。我碰巧看到了CultureConverter的绑定。但是,我不知道如何使用它来设定当前的文化。它不是依赖项属性。 :( – 2010-09-17 12:28:18
查看我更新的答案 – 2010-09-17 12:55:03