VirtualizingStackPanel的主要缺点是什么?如果它没有,那么为什么它不能作为ItemsControl中的默认面板行为/模板?
答案 0 :(得分:3)
VirtualizingStackPanel
类上的MSDN page具有以下声明:
“虚拟化”一词指的是一种技术,通过该技术,可以根据屏幕上可见的项目从大量数据项生成用户界面(UI)元素的子集。
和
只有当面板中包含的项目控件创建自己的项目容器时,才会发生StackPanel中的虚拟化。
和
VirtualizingStackPanel是ListBox元素的默认项主机。
从这看起来,StackPanel
作为按钮,文本块等的主机的“正常”使用似乎是虚拟化不会提供任何优势,甚至可能会产生性能开销。在ListBox
虚拟化中使用确实具有以下好处:a)项目容器由项目控件创建,b)列表中的元素可能比任何时候在屏幕上显示的要多。 / p>