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

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

Binding 作为数据的桥梁,分为Binding的源(source)和目标(target)

Binding是一种自动机制,当值变化后能通知,要实现需要在数据源的对象实现INotifyPropertyChanged接口

public class Student : INotifyPropertyChanged    {        public event PropertyChangedEventHandler PropertyChanged;        private string name;        public string Name        {            get { return name; }            set            {                name = value;                    //激发事件                if (this.PropertyChanged != null)                {                    this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Name"));                }            }        }    }

表示层 xaml

 <TextBox x:Name="text"  Grid.ColumnSpan="3"   BorderBrush="Black" />

后置cs

private Student s;        public MainWindow()        {           s = new Student();            InitializeComponent();            Binding binding = new Binding();            binding.Source = s;            binding.Path = new PropertyPath("Name");            BindingOperations.SetBinding(this.text, TextBox.TextProperty, binding);                   // this.text.SetBinding(TextBox.TextProperty, new Binding("Name") { Source = s }); //等同上面绑定        }

 这样就实现数据绑定

以控件作为数据源绑定

 Path 路径 ElementName源 Mode 数据更新方向 (TwoWay、OneWay、OneWayToSource、Default)默认双向,UpdateSourceTrigger 触发更新(LostFoucs、Explicit、Default,PropertyChanged)

转载于:https://www.cnblogs.com/linsage/archive/2012/10/17/2728629.html

你可能感兴趣的文章
php_扑克类
查看>>
回调没用,加上iframe提交表单
查看>>
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>
Mysql 索引优化 - 1
查看>>
LeetCode(3) || Median of Two Sorted Arrays
查看>>
大话文本检测经典模型:EAST
查看>>
待整理
查看>>
一次动态sql查询订单数据的设计
查看>>
C# 类(10) 抽象类.
查看>>
Nginx+Keepalived 实现双击热备及负载均衡
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
jvm参数
查看>>
我对前端MVC的理解
查看>>
Silverlight实用窍门系列:19.Silverlight调用webservice上传多个文件【附带源码实例】...
查看>>
2016.3.31考试心得
查看>>
mmap和MappedByteBuffer
查看>>
Linux的基本操作
查看>>
转-求解最大连续子数组的算法
查看>>
对数器的使用
查看>>
OracleOraDb11g_home1TNSListener服务启动后停止,某些服务在未由其他服务或程序使用时将自己主动停止...
查看>>