22

WPF中的stackpanel和virtualizingstackpanel有什么区别?

4

2 回答 2

31

当处理非常大的集合时,VirtualizingStackPanel可以提供性能优势。它通过仅渲染和处理对用户可见的数据子集而不是处理整个数据列表来实现。通过只为可见项创建 UI 元素,这可以大大减少它必须做的工作量。

这真的很方便,但如果

  1. 您是数据绑定非 UI 元素或必须在特定面板中为其创建 UI 的元素
  2. 您正在数据绑定大量数据

另一方面,StackPanel 将预先为 StackPanel 中包含的所有元素创建控件。

VirtualizingStackPanel MSDN 页面有一个不错的讨论:http: //msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx

于 2009-03-20T13:23:20.763 回答
1

这与视觉树有关。virtualizingstackpanel 与列表框等内容一起使用,通过仅显示可见项来减小可视树的大小 - 这在发生数据绑定的情况下很有用。

于 2009-03-20T13:26:30.913 回答