博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF之Binding
阅读量:6757 次
发布时间:2019-06-26

本文共 996 字,大约阅读时间需要 3 分钟。

Binding就是将数据源和目标联系起来,一般来说可以是将逻辑层对象和UI层的控件对象相关联。

有连接就有通道,就可以在通道上建立相应的验证等关卡来验证数据有效性,或是其它处理工作;同时它也支持对数据的传输方向控制。

那么,它是如何去实现的呢?Binding是通过自动侦听接口的PropertyChanged事件;因此,数据源对象就要实现INotifyPropertyChanged接口,并引发一个PropertyChanged事件,通知Binging更新了属性,那么相应的目标也做更新。

触发事件:

public class Student : INotifyPropertyChanged 

{

...

set{

...

if (PropertyChanged != null)

                {
                    this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Name"));
                }

...

}

...

public event PropertyChangedEventHandler PropertyChanged;  

}

设置Binding:

C#:this.textBox1.SetBinding(TextBox.TextProperty, new Binding("Value") { ElementName = "slider1" });

XAML:  <TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="23" Margin="87,73,0,0" TextWrapping="Wrap" Text="{Binding Value,ElementName=slider1}" VerticalAlignment="Top" Width="342"/>

或 Text="{Binding Path=Value,ElementName=slider1}"

 

  1. if (PropertyChanged != null)  
  2.                 {  
  3.                     this.PropertyChanged.Invoke(thisnew PropertyChangedEventArgs("Name"));  
  4.                 }  

转载于:https://www.cnblogs.com/coble/p/5485196.html

你可能感兴趣的文章
BFS 2015百度之星初赛2 HDOJ 5254 棋盘占领
查看>>
黑马程序员 ——ios点语法和类的三大特性
查看>>
Redis数据库总结
查看>>
python 阿狸的进阶之路(8)
查看>>
C#.net地址传参汉字乱码解决方案
查看>>
20155229《网络对抗技术》Exp:网络欺诈防范
查看>>
【本周面试题】第3周 - 浏览器相关面试题
查看>>
Struts13---Ognl
查看>>
11 Best CSS Frameworks For Making Your Website Stylish
查看>>
原型——设计思维之建立模型
查看>>
centos 7.2 同步北京时间 ,多台机器同步时间
查看>>
centos 7 设置开机启动脚本
查看>>
网络之 Iptables总结
查看>>
oracle之 安装 11G RAC 报 NTP failed
查看>>
Centos6.5环境下安装redis单机版以及Jedis连接
查看>>
『004』索引-Python
查看>>
常用的正则表达式(方便自己看)
查看>>
android中判断sim卡状态和读取联系人资料的方法【转】
查看>>
golang slice 切片原理
查看>>
ab命令压力测试
查看>>