我有一个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/

10-09 06:09