通过属性网格编辑可观察的集合

时间:2017-04-22 10:29:21

标签: c# observablecollection propertygrid

我有一个带有observable collection属性的类,我用PropertyGrid编辑这个属性。当我从中删除一些项目并按下OK按钮时,我的集合开始触发CollectionChanged事件,但它不会使用Remove Action触发事件。 首先,它使用“重置”操作触发事件,然后使用“添加剩余项目操作”触发事件。

当集合触发上一次CollectionChanged事件时,我该怎么办?

如何删除哪些项目?

1 个答案:

答案 0 :(得分:0)

嗯,我做了一个非常奇怪的解决方案,但它对我有用,以后它会帮助别人。它有一些明显的邪恶方面,但现在它仍然比没有好。

每次当CollectionChanged触发时,我启动本地计时器,例如,500ms间隔,如果计时器已经过去 - 最后一次集合已更改事件已触发。

此外,我的可观察集合中的项目的唯一ID的本地副本,因此在计时器过后,我可以检查哪些项目已从集合中删除,因此我可以清除绑定在其上的数据。