增加WPF ObservableCollection性能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了增加WPF ObservableCollection性能相关的知识,希望对你有一定的参考价值。
目前我有两个模仿以下功能的WPF列表框
(来源:psu.edu)
我正在使用2个ObservableCollections来允许用户选择他们需要的任何项目(灵活性是这里的关键)。主要问题是我有两千个项目在两个列表框中分组。总而言之,设计工作非常好(有几十个项目),但我的绊脚石是用户在屏幕冻结时从左到右复制所有可用的项目(在不同的线程上运行的时间?)。
看看ObservableCollection它没有AddRange方法,互联网上有各种各样的实现。我也知道CollectionChanged事件是不必要的被触发,因为每个项目都被严重复制在排水性能上。
很可能我不得不允许用户在将来从超过10,000个项目的组中进行选择,这听起来是个坏主意,但由于列表框(CollectionViewSource)上的分组工作得很好,但是不可协商,但是关闭两个列表框的虚拟化的副作用
在数据绑定到ObservableCollection时,如何在加载包含数千个项目的列表框时,如何提高性能?是否有推荐的AddRange类型实现?我在这里唯一的选择是在后台线程上运行它,这看起来很昂贵,因为我没有从数据库加载数据?
以上是关于增加WPF ObservableCollection性能的主要内容,如果未能解决你的问题,请参考以下文章