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

发布于 2024-07-15 04:49:11 字数 56 浏览 8 评论 0原文

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

What is the difference between a stackpanel and a virtualizingstackpanel in WPF?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

久夏青 2024-07-22 04:49:11

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

这确实很方便,但如果

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

另一方面,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

  1. You are data binding non-UI elements or elements for which UI must be created in the particular panel
  2. You are data binding a lot of data

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

許願樹丅啲祈禱 2024-07-22 04:49:11

这与视觉树有关。 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文