我的表单有一个BindingSource,里面填充了实现某个接口的对象。数据源设置为此接口。这些对象还实现了INofityPropertyChanged。
表单还有一个连接到BindingSource的DataGridView。
每当出于任何原因,BindingSource中任何对象的任何属性发生更改(而不仅仅是编辑DataGridView中的当前单元格)时,datagridview中的相应单元格值将自动更新。
如果我想显示布尔,数字,文本和枚举,这可以正常工作。如果仅显示属性的文本或复选框,则只要值发生更改,它们就会自动更新 - 即使在未编辑DataGridView中的当前单元格的情况下更改了它。显然,bindingsource会引发一个事件,告诉datagridview对象列表中某个对象的某个属性已经改变。
如果我想根据其中一个属性(例如enum)的值显示图像,我的表单需要订阅此事件以更新datagridview中的图像。
要收到有关这些更改的通知,我的表单可以订阅bindingsource列表中所有元素的INotifyChanged,但似乎绑定源本身已经引发了所需的事件
我的问题是:BindingSource引发什么事件来通知绑定源列表中元素Y的属性X已经改变了?