WPF: Textbox Binding with StringFormat={}{0:F2}. Don’t show zero’s

bindingstring-formattingwpf

I am binding an object to a TextBox with the following XAML:

<TextBox Name="MyTextBox" Text="{Binding Path=MyValue, Mode=TwoWay, StringFormat={}{0:F2}}" />

Naturally when I bind a new object (which values are all still zero) the Text property is set to 0.00. I have several of these TextBoxes, which makes it tedious to delete every value before entering a new one.

At the moment I'm clearing these boxes in the Window_Loaded method using the FindVisualChildren method.

It just feels clunky though. Is there a neat way of doing this?

Best Answer

Try the following:

StringFormat={}{0:#.##}

It will format to two decimal places and won't show zeroes.

Related Topic