[英]How does BindingList<T> know the selected Item?
当您使用BindingList作为Binding时,请说一个ListBox
listBox.DataSource = myBindingList;
并将某些标签绑定到同一来源:
labelName.DataBindings.Add("Text",
myBindingList,
"Name",
false,
DataSourceUpdateMode.OnPropertyChanged);
当我的列表框的SelectedItem
更改时,标签的值也会更改。
为什么标签的值总是引用当前选择的项目?
通过仅给他们BindingList
作为源,他们怎么知道List中的哪一项被选中?
在Windows窗体中进行数据绑定时,UI可以访问BindingContext
和CurrencyManager
。 BindingContext
(最终)来自父窗体,并且CurrencyManager
是通过数据源引用从 BindingContext
获得的。 因此:如果以相同形式为两个控件提供了相同的数据源,则假定它们使用常规绑定模式 ,则它们将获得相同的CurrencyManager
。 是CurrencyManager
跟踪所选项目。
注意: 可以在每个控件的基础上拆分BindingContext
。 但是默认值是继承它-因此,同一表单上的所有控件都将共享BindingContext
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.