2012-07-05 87 views
0

我不熟悉,在所有使用WPF和我上了ListCollectionView.Refresh()每次在ListCollection视图模型中的对象会改变其所作的应用效率极低(ListCollectionView被绑定到List集合视图模型的一次工作的应用程序)。除去Refresh()后,应用程序运行顺畅了很多,当出现ListCollection视图模型的变化仍将更新。环顾四周之后似乎任何时间上有CollectionView过滤器或重新梳理存在于Refresh()隐式调用。那么何时需要Refresh()并重新创建CollectionView何时通常需要CollectionView.Refresh()?

回答

2

如果我理解正确的话,你有一个绑定到一个ListCollectionViewModel(自己的类)一个ListCollectionView。只要ListCollectionViewModel正确实现INotifyCollectionChanged(例如从的ObservableCollection < T>继承),以及集合中的项目实施INotifyPropertyChange正确,那么就没有必要调用刷新()。

0

的CollectionView不处理,其中多个项目被改变(异常发生时)CollectionChanged事件;可以使用Refresh()来代替,这就是为什么你会看到使用过滤器和排序的调用。