3 回答
TA贡献1848条经验 获得超2个赞
// Ensure the current culture passed into bindings is the OS culture.
// By default, WPF uses en-US as the culture, regardless of the system settings.
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
从在WPF中创建国际化向导
TA贡献1829条经验 获得超9个赞
定义以下xml名称空间:
xmlns:gl="clr-namespace:System.Globalization;assembly=mscorlib"
现在看看这个奇妙的修复:
<TextBlock Text="{Binding Path=Model.SelectedNoteBook.OriginalDate, StringFormat='f', ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}" FontSize="20"TextTrimming="CharacterEllipsis" />
我很清楚这不是一个全局修补程序,您将在每个Bindings上都需要它,但是可以肯定的是,这只是很好的XAML?据我所知,下次绑定更新时,它将使用正确的CultureInfo.CurrentCulture或您提供的内容。
该解决方案将立即使用正确的值更新您的Bindings,但是对于如此少见又无害的东西,似乎有很多代码。
- 3 回答
- 0 关注
- 753 浏览
添加回答
举报