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

隐身守侯 提交于 2019-12-08 15:04:56

问题


My view-model exposes a list called MyList that may be empty or null. I have an element that I would like hide based on this state. If MyList is empty or null, then the element should be collapsed. If it has elements then it should be shown.

Here is my DataTrigger:

<DataTrigger Binding="{Binding MyList.Count, FallbackValue=0}" Value="0">
    <Setter Property="Visibility" Value="Collapsed"></Setter>
</DataTrigger>
  • What happens to this DataTrigger when MyList is null?
  • Will it use the FallbackValue or will it fail?
  • Is this documented somewhere?

回答1:


The FallbackValue is used if the binding source path does not resolve, if the converter fails, or if the value is not valid for the property's type.

It will not be used if null is returned, unless null is not valid for the property type. In this case the DataTrigger will not be triggered. You can use TargetNullValue for this case.

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


来源:https://stackoverflow.com/questions/33416567/in-wpf-is-the-fallbackvalue-used-when-the-binding-fails-due-to-null-references

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!