C# DataGridTextColumn格式取决于用户当前区域性
Im使用带有列的C# DataGridTextColumn格式取决于用户当前区域性,c#,wpf,format,C#,Wpf,Format,Im使用带有列的DataGrid: <DataGrid.Columns> ... <DataGridTextColumn Header="my value" Binding="{Binding Path=MyValue, ValidatesOnDataErrors=True, StringFormat=0.000000}"/> </DataGrid.Columns> ... 如何根据用户的当前区域性使用输出格式 例如,德语的0203或美国的0
DataGrid
:
<DataGrid.Columns>
...
<DataGridTextColumn Header="my value" Binding="{Binding Path=MyValue, ValidatesOnDataErrors=True, StringFormat=0.000000}"/>
</DataGrid.Columns>
...
如何根据用户的当前区域性使用输出格式
例如,德语的0203或美国的0.203或类似的东西…这是因为默认情况下,无论系统设置如何,WPF都使用en us作为区域性 从两个答案来看:和 这是修复它的代码:
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name)));
在上面的答案中,建议使用
CultureInfo.CurrentCulture.IetfLanguageTag
,但今天不推荐使用此选项,应使用CultureInfo.CurrentCulture.Name
来代替它。您当前的代码应该已经是特定于区域性的。From:“.”自定义格式说明符在结果字符串中插入本地化的十进制分隔符。如果您想修复区域性,可以为添加ConverterCulture=en GB
example@dkozl我找到了答案