【发布时间】:2010-10-25 11:48:07
【问题描述】:
我正在开发一个 wpf 应用程序,其中包含一个包含大量数据(10 000 到 100 000)行的列表视图。用户可以将各种过滤器应用于此列表视图,从而使过滤器逻辑非常先进(而且速度很慢)。目前,我的代码的相关部分如下所示:
ICollectionView view = CollectionViewSource.GetDefaultView(hugeList.ItemsSource);
view.Filter = new Predicate<object>(FilterCallback);
private bool FilterCallback(object item)
{
//Filter logic
}
但这在 UI 线程中运行并在过滤时阻塞了整个应用程序,这给用户体验带来了非常糟糕的体验。所以我对你们所有人的问题是:有人知道在 wpf 中过滤列表视图的“更好”方法还是应该过滤底层的ObservableCollection?
【问题讨论】:
-
+1 好问题!你想出了什么解决方案?
-
性能问题可能出在网格绑定/渲染方面,与实际过滤器逻辑无关...