如果数据为空,如何隐藏字符串格式

Posted

技术标签:

【中文标题】如果数据为空,如何隐藏字符串格式【英文标题】: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 为空或为空,如何隐藏它

【问题讨论】:

我们在考虑什么? 【参考方案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=''

也可以

【讨论】:

以上是关于如果数据为空,如何隐藏字符串格式的主要内容,如果未能解决你的问题,请参考以下文章

消息字符串为空时如何隐藏 div? (特别是:SPRING_SECURITY_LAST_EXCEPTION.message)

如果为空,如何隐藏 Firestore RecyclerView

php判断是不是为空

如果字符串为空,如何避免 Tostring 异常? [复制]

创建带遮罩的文本框,但在空白时隐藏带遮罩的字符

如果底层 DataContext 为空,如何隐藏控件?