在 WPF 中,由于空引用导致绑定失败时是否使用 FallbackValue?

In WPF, is the FallbackValue used when the binding fails due to null references?

我的视图模型公开了一个名为 MyList 的列表,该列表可能为空或 null。我有一个要基于此状态隐藏的元素。如果 MyList 为空或 null,则应折叠该元素。如果它有元素,那么它应该被显示。

这是我的DataTrigger

<DataTrigger Binding="{Binding MyList.Count, FallbackValue=0}" Value="0">
    <Setter Property="Visibility" Value="Collapsed"></Setter>
</DataTrigger>

如果绑定源路径未解析、转换器失败或值对 属性 的类型无效,则使用 FallbackValue

如果返回 null 则不会使用它,除非 null 对 属性 类型无效。在这种情况下 DataTrigger 将不会被触发。对于这种情况,您可以使用 TargetNullValue

<DataTrigger Binding="{Binding MyList.Count, FallbackValue=0, TargetNullValue=0}" Value="0">
    <Setter Property="Visibility" Value="Collapsed"></Setter>
</DataTrigger>