4

VirtualizingStackPanel 的主要缺点是什么?如果它没有,那么为什么不将它作为 ItemsControl 中的默认面板行为/模板?

4

1 回答 1

3

Class上的MSDN 页面VirtualizingStackPanel有以下语句:

“虚拟化”一词是指一种技术,通过该技术,用户界面 (UI) 元素的子集根据哪些项目在屏幕上可见而从大量数据项目中生成。

StackPanel 中的虚拟化仅在面板中包含的项目控件创建自己的项目容器时发生。

VirtualizingStackPanel 是 ListBox 元素的默认项目宿主。

由此看来,“正常”使用 aStackPanel作为按钮、文本块等的主机。虚拟化不会提供任何优势,甚至可能会带来性能开销。在ListBox虚拟化中使用时确实有好处,因为 a) 项目容器由项目控件创建,并且 b) 列表中的元素可能比任何时候在屏幕上显示的要多。

于 2010-10-29T11:36:01.173 回答