Pul*_*lle 5 c# binding listbox
当您使用 BindingList 作为 Binding 时,让我们说一个 ListBox
listBox.DataSource = myBindingList;
Run Code Online (Sandbox Code Playgroud)
并将一些标签绑定到同一来源:
labelName.DataBindings.Add("Text",
myBindingList,
"Name",
false,
DataSourceUpdateMode.OnPropertyChanged);
Run Code Online (Sandbox Code Playgroud)
当SelectedItem
我的 listBox更改时,标签的值也会更改。
为什么我的标签的值总是引用当前选择的项目?
他们怎么知道,只要给他们BindingList
作为来源,列表中的哪一项是被选中的?
在 Windows 窗体中进行数据绑定时,UI 可以访问 aBindingContext
和 a CurrencyManager
。(最终)来自BindingContext
父表单,并且是通过数据源引用获取CurrencyManager
的。因此:如果同一表单上的两个控件被赋予相同的数据源,那么假设它们使用正常的绑定模式,它们将获得相同的数据源。它是跟踪所选项目的。BindingContext
CurrencyManager
CurrencyManager
注意:可以根据BindingContext
每个控件进行拆分;但默认情况下它是继承的 - 因此同一窗体上的所有控件将共享一个BindingContext
.