BindingList ListChanged事件

时间:2011-09-06 13:56:52

标签: bindinglist listchanged

我正在订阅绑定列表中的ListChanged事件。当列表更改(添加/删除项目)时,我将更新内部列表。内部列表包含1-1对应于原始列表中的项目的对象。商品订单可以不同。

根据文档,当事件被触发时,ListChangedEventArgs.ListChangedType可以是以下之一:ItemAdded,ItemDeleted,Reset和ItemChanged。当列表中的项目发生更改时,ListChangedType为ItemChanged,要么该项目被另一个项目替换,要么其中一个属性被修改。

如何区分这些案例,以便我可以重新加载内部列表,如果列表中的项目被其他项目替换,但如果属性更改则不执行任何操作?

有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

如果正在替换某个项目,ListChangedEventArgs的{​​{1}}为-1,那么OldIndexOldIndex的值都会更新。