16

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

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

在这种情况下,如果 Amount 为空,那么它将只显示 Total:。如果 Amount 为空或为空,如何隐藏它

4

4 回答 4

33

您要么必须实现某种值转换器(示例),要么考虑在绑定上使用 TargetNullValue 属性(示例

于 2010-09-15T19:46:30.523 回答
32

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

<TextBlock VerticalAlignment="Top"
             Text="{Binding Path=TotalMonths,
        TargetNullValue={x:Static System:String.Empty},
        StringFormat=Total: {0:C}}" />
于 2010-12-08T13:12:10.627 回答
21
TargetNullValue=''

也会做

于 2010-12-13T10:09:51.570 回答
1

这里没有什么可做的,但你可以通过以下方式实现这样的目标:

  • 数据触发器
  • 值转换器
  • 代码隐藏中的事件处理
  • 在封装业务类的 ViewModel 中绑定(依赖)属性
于 2010-09-15T19:50:25.480 回答