WPF的5种绑定模式

本文详细介绍了WPF中的五种数据绑定模式:OneWay、TwoWay、OneTime、OneWayToSource和Default。OneWay模式仅从源更新目标,TwoWay则实现双向同步,OneTime只绑定一次,OneWayToSource则使目标改变源。通过一个进度条的实例演示了各种模式的效果,展示了不同模式下源和目标属性如何交互。

在WPF中它的绑定模式(mode)是枚举的枚举值一共有5个
1、 OneWey:从源的改变更新目标的属性
2、 TwoWey:源与目标相互改变
3、 OneTime:只根据源来设置目标,以后都不会改变
4、 OneWeyToSource:目标的改变使源发生变化
5、 Default:可以单向亦可双向,是靠被指定的源或目标是否有get或set指定,所以绑定的话是需要选择上面4个中的一个模式进行绑定,根据所需来选择,不选则默认为Default
或者
OneWey:source影响着target,但是target却影响不了source
OneWeyToSource:target影响着source,而source却影响不到target
TwoWey:source与target相互影响
OneTime:在OneWey的基础上延伸了一个OneTime,仅绑定一次

下面以一个进度条来举个实例
进度条源码:

下面是其他三种绑定方式

    <Label Canvas.Left="41" Canvas.Top="160" Content="OneWauSource" Height="28" Name="label2"/>
    <TextBox Canvas.Left="165" Canvas.Top="160" Height="23" Width="120"
             Text="{Binding ElementName=scrollBar1,Path=Value,Mode=OneWayToSource}"
             Name="textBox2"/>
    <!--TwoWey-->
    <Label Canvas.Left="41" Canvas.Top="202" Content="TwoWay" Height="28" Name="label3"/>
    <TextBox Canvas.Left="165" Canvas.Top="202" Height="23" Width="120"
             Text="{Binding ElementName=scrollBar1,Path=Value,Mode=TwoWay}"
             Name="textBox3"/>
    <!--OneTime-->
    <Label Canvas.Left="41" Canvas.Top="231" Content="OneTime" Height="28" Name="label4"/>
    <TextBox Canvas.Left="165" Canvas.Top="231" Height="23" Width="120" Text="{Binding ElementName=scrollBar1,Path=Value,Mode=OneTime}" Name="textBox4"/>

在这里插入图片描述

从图中可看出OneWey和TwoWey是会随着进度条的的改变而改变的
而OneWeyToSource 却没有发生任何变化,当OneWeyToSource的值发生变化时,进度条也会随之变化
TwoWey是会随着进度条改变而改变,同时也会改变进度条的状态
在这里插入图片描述

而OneTime是只触发一次,因为已经设置了进度条的默认值为1,在启动时便已经触发了一次,之后便不会有任何的变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值