【发布时间】:2020-04-02 16:41:30
【问题描述】:
ObservableCollection.CollectionChanged Event 的文档指出:
“在添加、删除、更改、移动或整个项目时发生 列表已刷新。”
(ObservableCollection 说了同样的话。)
“刷新”是什么意思?
在 ObservableCollection 上没有“Refresh()”方法,也没有任何听起来可以做到这一点的方法。在我能找到的此类文档的其他任何地方都没有使用“刷新”这个词。
同样,它的基类Collection 也没有。
起初,我在设想一种方法,它可以手动引发INotifyCollectionChanged 事件或类似事件,用于您实际上并未从集合中添加/删除的情况。但是没有明显的方法可以做到这一点。
同样,即使the reference source code for this class 只在评论标题中提到“刷新”,其他地方都没有。
文档不正确吗?还是我错过了一些关于如何“刷新”ObservableCollection 对象的微妙之处?
【问题讨论】:
-
它可能意味着除“添加、删除、更改、移动”之外的任何其他内容,例如用其他元素的集合原子替换所有元素 - ObservableCollection 不支持,但其他 INotifyCollectionChanged 实现可能支持。另见NotifyCollectionChangedAction.Reset。
标签: .net wpf observablecollection