Отформатируйте число со знаком + и - - PullRequest
5 голосов
/ 20 марта 2012

У меня есть несколько текстовых блоков WPF в стеке, которые я хочу привязать и отформатировать.

например. следующие форматы даты в 24-часовом стиле без секунд:

<TextBlock Text="{Binding MyCustomObject, StringFormat={}{0:HH:mm}}" />

Теперь я хотел бы связать целое число, а также отобразить знак + и - (т.е. +6 или -4).

<TextBlock Text="{Binding MyOtherCustomObject, StringFormat={}{0:+#}}" />

Это, однако, не работает. Это возможно, или я должен написать полный конвертер только для этого?

EDIT

Николай пост привел меня к ответу:

<TextBlock Text="{Binding MyOtherCustomObject, StringFormat={}{0:+#;-#;''}}" />

По сути, вы предоставляете формат для положительных чисел, отрицательных чисел и необязательную часть, что делать с нулем. В этом случае я заявил, что ноль должен отображаться в виде пустой строки.

С уважением,

Michel

1 Ответ

10 голосов
/ 20 марта 2012

Попробуйте это:

<TextBlock Text="{Binding MyOtherCustomObject, StringFormat={}{0:+#;-#;''}}" />

В этой статье есть хорошие примеры форматирования int - http://www.csharp -examples.net / string-format-int /

...