Binding(五):多路绑定

2021年09月15日 阅读数:3
这篇文章主要向大家介绍Binding(五):多路绑定,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

    Binding不止能绑定一个源,它还能绑定多个源,这就是咱们这节要讲的多路绑定:MultiBinding。3d

    

    使用多路绑定跟通常的绑定仍是有区别的,首先它并不能很好的在标记扩展中使用,另外,使用多路绑定必须为其指定多路转换器,不指定的话系统不知道怎么处理从这几个源过来的数据,下面经过一个例子来说解一下:blog

    例子的情景是这样的,登陆界面有两个文本框和一个按钮,只有当两个文本框有值的时候按钮才是可用的。继承

    首先定义多路值转换器:接口

    多路转换器须要继承IMultiValueConverter接口,用法跟单值转换器是同样的,就再也不细说了。登录

    前台Xaml代码以下:扩展

    使用多路绑定,就得写成属性元素的形式,指定多路绑定的Converter,而且将更新设置为属性改变时,这样才能及时更新到button身上。密码

    将这两个的Text绑定到Button的IsEnabled属性上,就能实现上述情景,效果如图:im

 

 

 

 

    只有当两个文本框都有值的时候登陆按钮才能使用,至于为何密码框不使用PasswordBox控件,那是由于PasswordBox控件的Password属性不是依赖属性,Binding只能绑定依赖属性,在它身上不起做用。数据

   关于依赖属性,咱们下节开讲,Binding相关到此结束...db

 

 

上一篇: 剖析依赖属性