我有一个 wpf 文本块,如下所示:
<TextBlock Text="{Binding [someViewModel].SomeVar.SomeSubVar.Name,
TargetNullValue='-'}"/>
在我的视图模型方面,我最终会有自己的逻辑,SomeVar.SomeSubVar
将为空。
如果我想为此显示默认值TextBlock
我知道我可以宣布并发起SomeVar.SomeSubVar
并将默认值分配给SomeVar.SomeSubVar.Name
但我想用TargetNullValue
反而。我可以知道哪一部分是错误的吗?
您可能会考虑使用 FallbackValuehttp://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.fallbackvalue(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.fallbackvalue(v=vs.110).aspx与 TargetNullValue 结合使用。
为了使 TargetNullValue 工作,您必须能够将 [someViewModel].SomeVar.SomeSubVar.Name 的完整路径评估为 null。如果“someViewModel”、“SomeVar”或“SomeSubVar”为 null,则永远无法计算“Name”,并且 TargetNullValue 将不适用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)