【问题标题】:Editing observable collection via property grid通过属性网格编辑 observable 集合
【发布时间】:2017-04-22 10:29:21
【问题描述】:

我有一个具有可观察集合属性的类,我使用 PropertyGrid 编辑此属性。当我从中删除一些项目并按 OK 按钮时,我的集合开始触发 CollectionChanged 事件,但它不会通过 Remove Action 触发事件。 首先它会触发带有 Reset 动作的事件,然后它会触发带有剩余项的 Add 动作的事件。

集合触发最后一个 CollectionChanged 事件时如何获取?

我怎样才能知道哪些项目被删除了?

【问题讨论】:

  • 如果我理解正确,您希望避免每个 Add 发生事件。在这种情况下,您可以检查 this thread 并研究 RangeObservableCollection - 它对我来说非常有效!

标签: c# observablecollection propertygrid


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-07
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 2012-06-09
    相关资源
    最近更新 更多