Как использовать StringFormat для округления связанного двойного значения - PullRequest
8 голосов
/ 22 февраля 2012

Я не могу заставить свою DataBinding обрезать десятичные цифры двойного значения моих ползунков и добавить знак%.Я хочу, чтобы мое представление отображало только «89%», даже если значение ползунков равно 89.1234.Можно ли использовать stringFormat в WPF DataBinding для реализации такого поведения?

<Label Content="{Binding ElementName=Slider, Path=Value}"/>

Заранее большое спасибо за любую помощь.

1 Ответ

17 голосов
/ 22 февраля 2012

Нельзя использовать привязку StringFormat, если вы также используете Label, поскольку Label имеет свойство под названием ContentStringFormat, которое переопределяет привязку StringFormat

Либо используйте свойство Label ContentStringFormat

<Label Content="{Binding ElementName=Slider, Path=Value}" 
       ContentStringFormat="{}{0:N0}%" />

Или переключитесь на использование TextBlock

    <TextBlock Text="{Binding ElementName=Slider, Path=Value, StringFormat={}{0:N0}%}" />
...