Binding的源是数据的来源,所以,只要一个对象包含数据并能通过属性把数据暴露出来,它就能当作Binding的源来使用,常用的办法有:
一。把普通CLR类型单个对象指定为Source
如果类型实现了INotifyPropertyChanged接口,则可通过在属性的set语句中激发PropertyChanged事件来通知Binding数据已被更新
二。把普通CLR集合类型对象指定为Source
一般是把控件的ItemsSource属性使用Binding关联到一个集合对象上,即为ItemsSource属性直接赋一个集合对象
三。把ADO.NET数据对象指定为Source
四。使用XmlDataProvider把XML数据指定为Source
五。把依赖对象指定为Source
六。把容器的DataContext指定为Source
七。通过ElementName指定Source
八。通过Binding的RelativeSource属性相对的指定Source
当控件需要关注自己的、自己容器的或者自己内部元素的某个值就需要使用这种办法
九。把ObjectDataProvider对象指定为Source
十。使用LINQ检索的到的数据对象作为Binding的Source当数据源的数据不是通过属性而是通过方法暴露给外界的时候,可以使用这两种对象来包装数据源再把它们指定为Source
原文:https://www.cnblogs.com/lonelyxmas/p/9080416.html