IBindingList更改通知

本文关键字:通知 IBindingList | 更新日期: 2023-09-27 18:12:16

我正在尝试创建一个程序(简单的网格-具有专门的输出),显示来自IBindingList数据源的数据。我可以很好地显示数据,但我也希望能够让用户编辑数据,比如在一个与网格分开的TextBox中。我的问题是,我不清楚如何完成两个元素(我的网格和可编辑的文本框)之间的数据的"自动"更新。

列表的ListChanged事件,我相信,将告诉我何时列表本身发生了变化,但我需要网格知道何时列表中的实际数据发生了变化。当网格外部发生变化时,我偶然发现的唯一一件事就是挂钩到BindingManagerBase.Bindings[0]。解析事件。用户不会这样做,但是如果用户建立了几个文本框,它们都绑定到同一个字段,我认为我必须循环遍历每个BindingManagerBase。绑定条目并钩住它?

我假设我做得不对,有一种更普遍的方法来完成它。我将非常感谢任何更熟悉我正在努力完成的事情的人的指导。

提前感谢,马特

IBindingList更改通知

看看INotifyPropertyChanged。在存储在BindingList中的类上实现它,以便在项的属性发生变化时通知BindingList。

如果你自己已经实现了IBindingList,你需要做更多的工作来连接到列表中每个项目的事件,但是提供的BindingList将自动拾取这些事件

您也可以使用通用的BindingList并使用ResetItem通知编辑