Если вы используете метод (я не уверен в этом, но, вероятно, CollectionViewSource в xaml)
CollectionViewSource.GetDefaultView(this.ItemsSource);
несколько раз он будет возвращать только один и тот же ICollectionView (если мы говорим об одной и той же коллекции, связанной несколько раз), это означает, что если вы примените фильтр к одному, который применяется ко всем, также как представление коллекции отслеживает текущий элемент текущий элемент будет синхронизирован между различными представлениями.
Вы можете обойти эту проблему, создав CollectionView для каждого фильтра / выбора, который вы хотите использовать, используя
new CollectionView(this.ItemsSource as IList);
Есть несколько типов, которые реализуют ICollectionView, CollectionView и ListCollectionView. в приведенном выше коде я не получил вид по умолчанию, я создал новый, поэтому его набор / сортировка уникальна.
Когда вы используете исходный элемент items, wpf создает представление коллекции, чтобы обернуть коллекцию, это представление коллекции возвращается в вызове GetDefaultView, что полезно для повседневных ситуаций, но не для крайних случаев.
вот сообщение в блоге от bea, которое объясняет это немного лучше