VirtualizingStackPanel失效可能原因 —— 一定记得设置容器固定Height

怎么使用  VirtualizingStackPanel提升UI性能文章 链接;

但是这不是本文的重点,我们都知道可以使用VirtualizingStackPanel 来提升软件性能,但是,

在实际开发过程中,我们按照文章的指示设置了 "VirtualizingStackPanel.IsVirtualizing 附加属性" 设置为 "true" 来启用 TreeView 虚拟化,并且通过将 VirtualizationMode 附加属性设置为 Recycling来选择启用项目回收。

但是,我们发现好像没效果,1000条子项,软件依然卡成狗。

后来才发现:使用容器虚拟化需要设置容器的高度,VirtualizingStackPanel.IsVirtualizing只显示可视部分不是代表我们看到的部分,而是容器能加载的部分。虽然我们可视部分可能只有 Height=680,但是不代表容器只有680高,那么,软件还是会一股脑的将所有数据加载出来,直到达到容器最大高度。这样虚拟化功能就没有用武之地!

结论:使用VirtualizingStackPanel一定记得设置容器固定高度。。。

猜你喜欢

转载自blog.csdn.net/qq_28368039/article/details/107100827