在某些情况下,由于大量 INotifyChangedProperties 事件,您会进行多次 UI 更新。在这种情况下,当所有属性都像批量设置一样时,您可能只想向 UI 发出一次更改信号。
我发现这篇很棒的文章解释了如何推迟 ViewCollection 的刷新:
http://marlongrech.wordpress.com/2008/11/22/icollectionview-explained/
但是,当视图被延迟并且我尝试向集合中添加一些内容时,我遇到了异常。我不明白为什么不允许这样做。这就是它的全部意义所在。
无效操作异常:无法更改或检查内容或当前位置
CollectionView 同时刷新被推迟。
有谁知道如何解决这个问题?
非常感谢,
我认为您误解或歪曲了 MSDN 关于该主题的帮助。他们说您不必修改底层集合即可进行排序或过滤。他们并不是说您不能修改底层集合。 OP 有一个非常有效的观点。我们有一个大型集合,已为用户排序和过滤,并显示在列表框中。当用户选择一系列记录并想要删除它们时,我们被迫陷入这样的情况:ListCollectionView 会刷新每个已删除项目的视图。
我认为OP的问题非常有道理。性能非常糟糕,因为我们对大量数据有多个过滤器。 DeferRefresh 在像 ListCollectionView 这样的类上有真正的用途,但是当您最需要它时,它会莫名其妙地禁用插入和删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)