绑定表达式中的空检查

Null checking in binding expression

WPF 绑定表达式语法是否具有空值检查机制?因此,例如我的 TextBox 显示 People 对象数组的第一个元素的 Address 字段,如下所示:

Text="{Binding AllPeople[0].Address}" 

AllPeople 有时本身可以为 null。这不会导致任何异常,但 WPF 会在即时 window 中静默记录绑定错误消息。有没有办法通过在 Path 表达式中指定 null-safety 来避免这种情况?类似于 AllPeople?[0].Address.

注意:我知道这可以使用转换器轻松完成。我正在寻找 shorthand 符号。

在您的绑定中,您可以配置两个可选属性:TargetNullValue and FallbackValue。第一个应该是你需要的。

如果绑定在运行时不起作用,将应用 FallbackValue

示例:

IsEnabled="{Binding Path=EnabledFlagInViewModel, TargetNullValue=false}"