我有一个WPF文本块,如下所示:
<TextBlock Text="{Binding [someViewModel].SomeVar.SomeSubVar.Name,
TargetNullValue='-'}"/>
在我的 View 模型方面,我将有自己的逻辑,最后,
SomeVar.SomeSubVar
将为null。如果我想显示此
TextBlock
的默认值,我知道可以声明并初始化SomeVar.SomeSubVar
并将默认值分配给SomeVar.SomeSubVar.Name
,但我想改用TargetNullValue
。我可以知道哪一部分不对吗? 最佳答案
您可能会考虑将FallbackValue 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将不适用。
关于c# - WPF Textblock TargetNullValue不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22315699/