星空网 > 软件开发 > ASP.net

Binding基础知识(整理)

程序的本质是数据加算法,

算法的分布a.数据库内部 b.读取和写回数据 c.业务逻辑 d.数据展示 e.界面与逻辑的交互

ab稳定,c与客户需求关系紧密(开发核心).d,e负责UI与逻辑的交互.

WPF让展示层处于逻辑层的从属地位.关键是引用了Data Binding以及与之配套的Dependency Property系统和DataTemplate

 

Binding源指数据源,一般是逻辑层的对象(object(后台),ElementName(Xaml中)).数据通过属性暴露给外界.

Source的对象:

1.把普通CLR类型单个对象指定为Source:.NET Framework自带类型的对象和用户自定义类型的对象.

2.把普通CLR集合类型对象指定为Source:包括数组,List<T>,ObservableCollection<T>等集合类型.一般把控件的ItemsSource属性使用Binding关联到一个集合对象上.例如"ItemSource=DefaultView;"(DefaultView属性是一个DataView类型的对象,DataView实现了IEnumerable接口,所以可以直接赋值给ItemSource属性)或者直接将集合的对象赋值给ItemSource

ItemTemplate属性的类型是DataTemplate

3.ADO.NET数据对象.包括DataTable和DataView:是一张DataTable的虚拟视图   ,主要用来显示数据的 

4.使用把数据指定为source:作为标准的数据存储和传输格式.一些WPF控件是级联式的(如TreeView和Menu),我们可以把树状结构的数据作为源指定给与之关联的Binding.

5.依赖对象:依赖对象不仅可以作为Binding的目标,也可以作为Binding的源.依赖属性可以作为Binding的Path

6.容器的DataContext(Binding的默认行为)设置Binding,只设置Path而不设置Source,Binding会自己去寻找Source.(会沿着控件树一层层往外找,直到找到带有Path指定属性的对象为止)

7.ElementName.通过对象的Name属性找到对象.

8.RelativeSource属性:当空间需要关注自己的,自己的容器或者自己元素内部的某个值

9.ObjectDataProvider对象:数据源的数据通过方法暴露给外界的时候.

10,通过LINQ检索得到的数据对象作为Binding的源.

目标(Target)指UI层的控件对象

UI上的元素关心的属性称为Binding的路径(Path),即对象上有多个属性,指定所关心的属性.索引器也能作为Path来使用.当集合元素的属性仍然是一个集合,可以一路斜下去.P91页 当Bingding源本身就是数据且不需要Path来指明.XAML可以没有path,C#中写成"SetBinding(TextBlock.TextProperty,new Binding("."){Source=xxx})"

让数据源的类实现System.ComponentModel名称空间中的INotifyPropertyChanged接口

 

SetBinding(DependencyProperty, BindingBase)

Binding的UpdateSourceTrigger属性.可取值PropertyChanged,LostFocus,Explicit,Default

 

Binding的数据校验.ValidationRule类.ValidationRules是binding的属性。

实施.首先派生一个ValidationRule类。重写Validata方法。(规定校验范围)

在窗体构造器中建立Binding

ValidationRule类中ValidatesOnTargetUpdatad=true。当目标(UI层的控件)发生变化时,会影响数据源

 

DataContext是一个依赖属性.用法:

1.UI上多个控件都是用Binding关注同一对象时.

2.当source的对象不能被直接访问的时候.最外层容器的DataContext相当于数据制高点.只要把元素放上去,别的元素就能看见.




原标题:Binding基础知识(整理)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

Shopee新加坡站卖什么好?Shopee新加坡选品建议:https://www.goluckyvip.com/news/5244.html
美森涨价潮恐怕又要来袭、欧洲物流不容乐观!!:https://www.goluckyvip.com/news/5245.html
沙特持牌本地派物流企业已达71家!:https://www.goluckyvip.com/news/5246.html
Shopee菲律宾要怎么做?Shopee菲律宾运营建议:https://www.goluckyvip.com/news/5247.html
Shopee物流:Shopee包裹尺寸要求:https://www.goluckyvip.com/news/5248.html
Shopee物流问题:Shopee客户拒收怎么办?能退回吗?:https://www.goluckyvip.com/news/5249.html
亚龙湾有什么景点必看 亚龙湾有哪些景点:https://www.vstour.cn/a/408228.html
怀柔国际会议景点 怀柔国家会议中心门票:https://www.vstour.cn/a/408229.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流