我有一个带有可观察集合属性的类,并使用PropertyGrid编辑了此属性。当我从其中删除一些项目并按OK按钮时,我的收藏集开始触发CollectionChanged事件,但是使用Remove Action不会触发该事件。
首先,它使用“重置”动作触发事件,然后使用“剩余项目”的“添加”动作触发事件。
当集合触发最后一个CollectionChanged事件时,我如何获取?
我如何获取已删除的项目?
最佳答案
好吧,我做了一个很奇怪的解决方案,但是它对我有用,但后来会帮助别人的。它显然有一些邪恶的一面,但到目前为止,总比没有好。
每次触发CollectionChanged时,如果经过了计时器,我就会以例如500毫秒的间隔启动本地计时器-已经触发了上次更改收藏夹事件。
另外,我在可观察的馆藏中具有项的唯一ID的本地副本,因此在经过计时器后,我可以检查从馆藏中删除了哪些项,因此可以清除绑定在其上的数据。