Let's say I have a number 1234567.89. The number is displayed in a WPF TextBlock. I am trying to apply StringFormat
attribute to the Text
property so that the number would be displayed like:
1.234.567,89
As you can see, the thousand and decimal separators are inverted from the invariant culture specification.
I've tried setting numerous combinations for the StringFormat
, but without success. This is the latest I came up with:
Text="{Binding SomeBinding, StringFormat={}{0:#'.'##0','00}}"
But the output isn't correct. Also, using N2
or changing culture isn't an option. I would like to avoid converters if possible.
So, is there a way to change the default separators through XAML?
You don't have to change the culture. Just use String.Format
with specified culture (de-DE should be fine):
string output = String.Format(new CultureInfo("de-DE"), "{0:N}", yourDoubleValue);
Output: 9.164,32
If you want to do it in XAML, you could try:
Text="{Binding SomeBinding, StringFormat={}{0:N}, ConverterCulture=de-DE}"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With