Свяжите сетку с ListCollectionView
, инициализированным с ObservableCollection
. Сетка будет использовать ваш предварительно созданный ICollectionView
вместо создания своего собственного ICollectionView
на основе вашего ObservableCollection<T>
(что является поведением по умолчанию) и применяет любые функции / предикаты сортировки к вашему экземпляру.
В качестве дополнительного преимущества сортировка / фильтрация этого ListCollectionView
будет отражаться в вашей сетке всякий раз, когда вы вызываете MyListCollectionView.Refresh () из вашей ViewModel.
Как только вы это сделаете, перебор коллекции Items вашего ListCollectionView будет точно отражать текущее состояние фильтра / сортировки вашей сетки.