WPF ItemsControl - 如何检测项目何时不可见

时间:2011-02-21 08:51:25

标签: wpf itemscontrol

我正在构建一个WPF应用程序来可视化一大堆项目(几千个)。为此,我使用ItemsControl,其ItemsSource设置为BindingList。

我注意到初始化屏幕需要一些时间......主要的瓶颈是创建TextBlock元素(项目的数据模板包含4个TextBlock元素)。初始化屏幕后(创建所有WPF元素时),渲染就可以了。

我已经实现了缩放和平移,因此我考虑使项目的外观取决于缩放级别和中心点(有点像谷歌地图:数据仅可视化到视图中的区域)

如何做到这一点? WPF中是否有任何方法可以询问项目或项目容器当前是否被剪切?

1 个答案:

答案 0 :(得分:1)

您可以将列表虚拟化。这样,只有可见的项目才会为其创建UI控件。 检查ListView文档,或者此链接可能有所帮助: http://www.codeproject.com/KB/WPF/WpfDataVirtualization.aspx

Jogy