Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过属性网格编辑可观察集合_C#_Observablecollection_Propertygrid - Fatal编程技术网

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

C# 通过属性网格编辑可观察集合,c#,observablecollection,propertygrid,C#,Observablecollection,Propertygrid,我有一个具有observable collection属性的类,我使用PropertyGrid编辑该属性。当我从集合中删除某些项目并按“确定”按钮时,我的集合开始触发CollectionChanged事件,但它不会使用“删除”操作触发事件。 它首先使用重置操作触发事件,然后使用剩余项的添加操作触发事件 如何获取集合触发上次CollectionChanged事件的时间 如何获取已删除的项目 嗯,我做了一个很奇怪的解决方案,但它对我有效,以后会帮助别人的。它有一些明显的邪恶的一面,但就目前而言,它仍

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

如何获取集合触发上次CollectionChanged事件的时间


如何获取已删除的项目

嗯,我做了一个很奇怪的解决方案,但它对我有效,以后会帮助别人的。它有一些明显的邪恶的一面,但就目前而言,它仍然比没有好

每次触发CollectionChanged时,我都会以500毫秒的间隔启动本地计时器,如果计时器已过-上次CollectionChanged事件已触发


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

如果我正确理解您的意思,您希望避免每次添加事件。在这种情况下,您可以检查和研究RangeObservableCollection-它对我非常有效!