C#高级编程:数据绑定对象[1]
图 显示了数据绑定中使用的对象的类层次结构 本节将讨论System Windows Forms 命名空间中的类BindingContext CurrencyManager和PropertyManager 说明在把数据绑定到窗体上的一个或多个控件上时 它们是如何交互的 带阴影的对象就是在绑定中使用的对象
在前面的示例中 我们使用TextBox控件的DataBindings属性把DataSet的一列绑定到控件的Text属性上 DataBindings属性是图 所示的ControlsBindingsCollection的一个实例
图
textBox DataBindings Add( Text ds Products ProductName );
这行代码给ControlBindingsCollection添加一个Binding对象 BindingContext
每个Windows窗体都有BindingContext属性 实际上 Form派生于Control 该属性是在Control中定义的 所以大多数控件都有这个属性 BindingContext对象有一个BindingManagerBase实例集合 如图 所示 在对控件进行数据绑定时 就会创建这些实例 并把它们添加到绑定管理器对象中
图
BindingContext可以包含几个数据源 包装在CurrencyManager或PropertyManager中 使用哪个类取决于数据源本身
如果数据源包含一个项目列表 例如DataTable DataView或实现IList接口的对象 就使用CurrencyManager 因为它可以在该数据源中保存当前位置 如果数据源只返回一个值 就把PropertyManager存储在BindingContext中
lishixinzhi/Article/program/net/201311/15549