【问题标题】:How to hide stringformat if data is null如果数据为空,如何隐藏字符串格式
【发布时间】:2011-04-12 20:07:31
【问题描述】:

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

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

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

【问题讨论】:

  • 我们在考虑什么?

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    • 数据触发器
    • 值转换器
    • 代码隐藏中的事件处理
    • 在封装您的业务类的 ViewModel 中绑定(依赖)属性

    【讨论】:

    • 我使用值转换器解决了它..但仍然有助于了解任何替代方法...顺便说一句,由于我使用的是数据表,因此无法在我的商务舱中处理
    【解决方案3】:

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

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

    【讨论】:

    • 看来您应该归功于 rudigrobler 并使用这些详细信息更新您的原始帖子。
    • 别忘了添加这个命名空间:xmlns:System="clr-namespace:System;assembly=mscorlib"
    【解决方案4】:
    TargetNullValue=''
    

    也可以

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      相关资源
      最近更新 更多