更改绑定中的默认千位和小数分隔符

时间:2013-02-21 10:42:30

标签: c# wpf xaml string-formatting

假设我的数字 1234567.89 。该数字显示在WPF TextBlock中。我正在尝试将StringFormat属性应用于Text属性,以便显示的数字如下:

1.234.567,89

如您所见,千位和小数分隔符与不变文化规范相反。

我尝试为StringFormat设置多种组合,但没有成功。这是我提出的最新消息:

Text="{Binding SomeBinding, StringFormat={}{0:#'.'##0','00}}"

但输出不正确。此外,使用N2或改变文化不是一种选择。如果可能,我想避免使用转换器。

那么,有没有办法通过XAML更改默认分隔符?

1 个答案:

答案 0 :(得分:9)

您无需更改文化。只需使用String.Format指定的文化(de-DE应该没问题):

string output = String.Format(new CultureInfo("de-DE"), "{0:N}", yourDoubleValue);

输出:9.164,32

如果您想在XAML中执行此操作,可以尝试:

Text="{Binding SomeBinding, StringFormat={}{0:N}, ConverterCulture=de-DE}"