2

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

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

我如何区分这些情况,以便如果列表中的项目被另一个项目替换,我可以重新加载内部列表,但如果是属性更改则什么都不做?

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

4

1 回答 1

1

如果要替换的项目ListChangedEventArgsOldIndex值为 -1,则它正在同时更新OldIndexNewIndex具有相同的值。

于 2011-09-09T14:14:10.597 回答