• Binding(五):多路绑定


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

        

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

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

        首先定义多路值转换器:

        多路转换器需要继承IMultiValueConverter接口,用法跟单值转换器是一样的,就不再细说了。

        前台Xaml代码如下:

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

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

     

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

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

  • 相关阅读:
    H5版俄罗斯方块(5)---需求演进和产品迭代
    vim 常用 NERDTree 快捷键
    C和C++中include 搜索路径的一般形式以及gcc搜索头文件的路径
    MySQL复制协议
    深入解析MySQL replication协议
    Install CodeBlocks in CentOS 7
    Impala 源码分析-FE
    Elasticsearch 6.x 的分页查询数据
    1、树莓派3B开箱+安装系统
    Python创建ES索引
  • 原文地址:https://www.cnblogs.com/charlesmvp/p/14992579.html
Copyright © 2020-2023  润新知