最近我在 CodeReview(CodeReview问题)上发布了一个问题,并且根据他们的建议,我正在从一个 ObservableCollection
移动到一个 ICollectionView
,而不是一个 ListCollectionView
,因为显然一个 ListCollectionView
有更好的过滤性能。
我现在做的是这样的;
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
,因为它在处理大型数据集时似乎具有更高的性能(我需要过滤约28000个公司)。 - CBreeze