WPF 中的 stackpanel 和 virtualizingstackpanel 有什么区别?
WPF 中的 stackpanel 和 virtualizingstackpanel 有什么区别?
What is the difference between a stackpanel and a virtualizingstackpanel in WPF?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
VirtualizingStackPanel 在处理非常大的集合时可以提供性能优势。 它通过仅渲染和处理用户可见的数据子集而不是处理整个数据列表来实现这一点。 通过仅为可见项创建 UI 元素,可以大大减少必须执行的工作量。
这确实很方便,但如果
另一方面,StackPanel 将预先为所有数据创建控件StackPanel 中包含的元素。
VirtualizingStackPanel MSDN 页面有一个不错的讨论: http:// msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx
A VirtualizingStackPanel can offer performance benefits when working with very large collections. It does so by only rendering and processing a subset of the data which is visible to the user vs. processing the entire list of data. By creating only UI elements for the visible items, this can greatly reduce the amount of work it has to do.
This is really only handy though if
A StackPanel on the other hand, will up front create the controls for all elements contained within the StackPanel.
The VirtualizingStackPanel MSDN page has a decent discussion: http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx
这与视觉树有关。 virtualizingstackpanel 与列表框等一起使用,通过仅显示可见项来减小可视化树的大小 - 这在发生数据绑定时非常有用。
This is to do with the visual tree. The virtualizingstackpanel works with things like list boxes etc to reduce the size of the visual tree by only displaying visible items - this is useful where databinding is taking place.