VirtualizingStackPanel 中 VirtualizationMode 属性的回收/标准之间的实际区别是什么?
VirtualizingStackPanel.VirtualizationMode = Recycling/Standard 中实际发生了什么?
What is actually happening in VirtualizingStackPanel.VirtualizationMode = Recycling/Standard.?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当
VirtualizationMode
设置为Recycling
时,VirtualizingStackPanel
将重用项目容器,而不必创建新的项目容器。如果我们从这个开始
向下滚动一个位置,因此数据 1 滚动到视图之外,数据 4 滚动到视图中,然后回收将获取数据 1 的项目容器并将其重新用于数据 4。
我遇到了一些问题当使用项目容器的附加属性时,例如,如果我已进入容器 1 的编辑模式,则为绿色背景。向下滚动,数据 4 也将具有绿色背景,因为附加属性仍处于设置状态。
当
VirtualizationMode
设置为Standard
时,VirtualizingStackPanel
将创建并丢弃项目容器,而不是重用它们。When
VirtualizationMode
is set toRecycling
, theVirtualizingStackPanel
will reuse item containers instead of having to create a new one.If we start out with this
And scroll one position down, so Data 1 is scrolled out of view and Data 4 is scrolled into view then Recyling will take the item container for Data 1 and reuse it for Data 4.
I've had some problems with this when using attached properties for the Item container, e.g Green background if I have entered edit mode for Container 1. Scrolling down and Data 4 will also have Green background since the Attached Property was still set.
When
VirtualizationMode
is set toStandard
, theVirtualizingStackPanel
will create and discard item containers instead of reusing them.