Недавно я разместил вопрос на Просмотр Кода (CodeReview Question) и следуя их советам, я ищу двигаться от ObservableCollection
к ICollectionView
к ListCollectionView
вместо этого как очевидно ListCollectionView
имеет более высокую производительность фильтрации.Implenting ListCollectionView От ObservableCollection
То, что я делаю в данный момент, это;
Contracts = await ReturnContracts();
ContractsICollectionView = CollectionViewSource.GetDefaultView(Contracts);
DataContext = this;
Где Contracts
является ObservableCollection
и ContractsICollectionView
является ICollectionView
. Когда я использую ListCollectionView
, вместо этого получаю эту ошибку;
Невозможно преобразовать из ICollectionView в ListCollectionView.
Настоящее определение Contracts
и ContractsListCollectionView
;
public ObservableCollection<ContractModel> Contracts;
public ListCollectionView ContractsListCollectionView { get; private set; }
Мой вопрос, как я могу реализовать ListCollectionView
и воспользоваться его улучшенной фильтрации?
Спасибо за ваш ответ. Я пытаюсь использовать «ListCollectionView» из-за его очевидной повышенной производительности с большими DataSets (у меня есть около 28000 компаний для фильтрации). – CBreeze
В обоих методах выше типа _underlying_ будет ListCollectionView. Это просто в первом случае вы получаете доступ к нему через интерфейс (ICollectionView) и во втором случае напрямую. Поэтому, если вы не используете его напрямую и, например, просто привяжите свою сетку к нему, используйте первое приложение. – Evk