У меня проблема с моим приложением WPF, где фильтр поиска применяется к наблюдаемой коллекции, когда я добавляю фильтр в ICollectionView.Я получил два представления, которые являются двумя отдельными моделями представления.В этом случае одно представление позволяет вам искать в коллекции и манипулировать ею, а во втором - поле со списком, позволяющее пользователю выбрать элемент из коллекции.
Сначала я извлекаюэлементы моей наблюдаемой коллекции, как вы можете видеть в коде ниже.Затем я устанавливаю CollectionViewSource.Как и сейчас, я добавляю фильтр в CollectionView, который я реализовал.Моя проблема в том, что я думал, что фильтр будет применяться только к коллекции ICollectionView, которую я использую в списке, но это показывает, что он также применим к ObservableCollection.В списке используется CollectionView, а в выпадающем списке - ObservableCollection категорий.Но я не хочу, чтобы фильтр применялся к коллекции combobox, которая использует observablecolelction, поскольку я хочу показать все доступные элементы все время.
Как это исправить?
public ViewModel ()
{
CollectionViewSource.GetDefaultView(Categories);
}
public ObservableCollection<Category> Categories
{
get
{
return this._categories;
}
set
{
if (this._categories!= value)
{
this._categories= value;
this.OnPropertyChanged("Categories");
}
}
}
private ICollectionView _categoriesCollection;
public ICollectionView CategoriesCollection
{
get
{
return this._categoriesCollection;
}
set
{
if (this._categoriesCollection!= value)
{
this._categoriesCollection= value;
this.OnPropertyChanged("CategoriesCollection");
}
}
}