1

我对使用 WPF 完全不熟悉,而且我正在处理的应用程序ListCollectionView.Refresh()每次 ListCollection 视图模型中的一个对象都会发生变化,这使得应用程序效率极低(ListCollectionView绑定到列表集合视图模型)。删除Refresh()应用程序后,应用程序运行更加顺畅,并且在 ListCollection 视图模型中发生更改时仍会更新。环顾四周后,似乎任何时候都有过滤器或重新排序,CollectionView都会隐式调用Refresh(). 那么什么时候需要Refresh()重新创建CollectionView

4

2 回答 2

3

如果我理解正确,你有一个ListCollectionView绑定到 ListCollectionViewModel (你自己的类)。只要 ListCollectionViewModelINotifyCollectionChanged正确实现(例如,它继承自 ObservableCollection<T>),并且集合中的项目INotifyPropertyChange正确实现,则无需调用 Refresh()。

于 2012-07-06T01:08:57.463 回答
0

CollectionView 不处理多个项目正在更改的 CollectionChanged 事件(发生异常);Refresh()可以改为使用,这就是为什么您会看到带有过滤器和排序的调用。

于 2012-07-06T11:55:17.287 回答