WPF数据绑定时FallbackValue和TargetNullValue的使用

本文介绍了WPF数据绑定中FallbackValue和TargetNullValue的使用。FallbackValue在绑定路径不存在或转换失败时提供默认值,避免显示UnsetValue。举例说明,当IsOnUploadingBigFile属性缺失时,通过设置FallbackValue可以控制Grid的Visibility。TargetNullValue则在源数据为null时应用,区别在于触发条件不同。官方示例展示了TargetNullValue如何在源数据为null时设置TextBox的显示文本。
摘要由CSDN通过智能技术生成

(1)FallbackValue

FallbackValue针对无法绑定(给定的Path不存在)时使用的默认值,默认情况下为UnsetValue.

若绑定源的路径解析成功,且值转换器能够正确转为结果值,且该值对绑定目标属性有效,则会正常绑定数据,不会使用FallbackValue的值。如果不能正常绑定,则会使用FallbackValue值。常见的使用状况为:当绑定对象不存在时,什么都不要显示,存在时,根据给定的bool值判断是否显示。比如以下代码:

                            <Grid Visibility="{Binding IsOnUploadingBigFile,FallbackValue=2,Converter={StaticResource BoolToVisibilityConverter}}">......</Grid>

在代码中,绑定到IsOnUploadingBigFile,如果正常上传大文件,则显示,否则不显示。看似正常,但是如果IsOnUploadingBigFile属性所在的对象都没有,则系统根据找不到绑定的数据源,如果不写FallbackValue,则系统会使用默认的UnsetValue,这是Grid控件会根据默认的Visibility值即Visible来显示Grid出来。如果这种情况下不要显示的话,则明确的写出来FallbackValue,目前写的是2,即Visibility.Collapsed的值。这样就不会显示了。不要直接写FallbackValue=Visibility.Collapsed,那样系统识别不了。

(2)TargetNullValue

当源的值为Null时目标中使用的值。和FallbackValue比较接近࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值