Как скрыть формат строки, если данные нулевые - PullRequest
15 голосов
/ 15 сентября 2010

Как скрыть формат строки, когда данных нет. Рассмотрите этот пример

<TextBlock Text="{Binding Amount, StringFormat=Total: {0:C}}" />

в этом случае, если сумма равна нулю, то будет отображаться только итого:. Как скрыть это, если сумма равна нулю или пусто

Ответы [ 4 ]

29 голосов
/ 15 сентября 2010

Необходимо либо реализовать какой-либо преобразователь значений ( Пример ), либо рассмотреть возможность использования свойства TargetNullValue в привязке ( Пример )

27 голосов
/ 08 декабря 2010

"TargetNullValue" - это то, что я искал. Я закончил с этим, и это сработало как шарм

<TextBlock VerticalAlignment="Top"
             Text="{Binding Path=TotalMonths,
        TargetNullValue={x:Static System:String.Empty},
        StringFormat=Total: {0:C}}" />
16 голосов
/ 13 декабря 2010
TargetNullValue=''

Подойдет также

1 голос
/ 15 сентября 2010

Здесь не с чем работать, но вы можете достичь чего-то подобного с помощью:

  • DataTrigger
  • ValueConverter
  • EventHandling в Code-Behind
  • Связывание со свойством (dependency-) в ViewModel, инкапсулирующем ваши бизнес-классы
...