如何通过XAML结合设置当前培养
-
03-10-2019 - |
题
我有一个绑定到字符串的文本块。我希望该字符串在应用程序的当前UI文化中显示。我想在XAML中这样做。文本块很简单,如下所示。
<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}" />
不隶属于 StackOverflow