绑定表达式中的空检查
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}"
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}"