DataGridTextColumn格式取决于用户当前的文化

时间:2015-05-07 09:23:43

标签: c# wpf format

我正在使用DataGrid列:

<DataGrid.Columns>
   ...
   <DataGridTextColumn Header="my value" Binding="{Binding Path=MyValue, ValidatesOnDataErrors=True, StringFormat=0.000000}"/>
</DataGrid.Columns>

如何根据用户当前的文化使用输出格式?

例如0,203表示德语或0.203表示我们或类似的东西......

1 个答案:

答案 0 :(得分:1)

默认情况下,WPF使用en-US作为文化,无论系统设置如何。

来自两个SO答案:firstsecond

这是修复它的代码:

FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name)));

上面的答案推荐为CultureInfo.CurrentCulture.IetfLanguageTag,但今天已弃用,我应该使用CultureInfo.CurrentCulture.Name代替它。