如果data为null,如何隐藏stringformat

时间:2010-09-15 18:14:00

标签: wpf data-binding binding string-formatting targetnullvalue

如何在数据不存在时隐藏字符串格式。请考虑此示例

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

在这种情况下如果Amount为null,则它将仅显示Total:。如果Amount为null或为空,如何隐藏

4 个答案:

答案 0 :(得分:29)

您必须实现某种值转换器(Example)或考虑在绑定上使用TargetNullValue属性(Example

答案 1 :(得分:27)

“TargetNullValue”就是我所寻找的。我最终得到了它,它就像一个魅力

<TextBlock VerticalAlignment="Top"
             Text="{Binding Path=TotalMonths,
        TargetNullValue={x:Static System:String.Empty},
        StringFormat=Total: {0:C}}" />

答案 2 :(得分:16)

TargetNullValue=''

也会这样做

答案 3 :(得分:1)

这里没有多少工作,但你可以通过以下方式实现这样的目标:

  • DataTrigger
  • ValueConverter
  • Code-Behind中的EventHandling
  • 绑定到封装业务类的ViewModel中的(dependency-)属性