我有一个绑定到字符串的TextBlock。我希望字符串显示在应用程序的当前UI文化中。我想在XAML中这样做。文本块很简单,如下所示。
<TextBlock Text="{Binding Path=Text}"/>
答案 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}" />