绑定表达式中的空检查

dot*_*NET 5 wpf xaml binding nullreferenceexception

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

Text="{Binding AllPeople[0].Address}" 
Run Code Online (Sandbox Code Playgroud)

AllPeople有时可以为空本身。这不会导致任何异常,但 WPF 会在“立即”窗口中以静默方式记录绑定错误消息。有没有办法通过在 Path 表达式中指定空安全来避免这种情况?一些关于AllPeople?[0].Address.

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

Mar*_*tin 6

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

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

例子:

IsEnabled="{Binding Path=EnabledFlagInViewModel, TargetNullValue=false}"
Run Code Online (Sandbox Code Playgroud)