2012-07-05 80 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()來代替,這就是爲什麼你會看到使用過濾器和排序的調用。