24

VirtualizingStackPanel.VirtualizationMode = Recycling/Standard 中实际发生了什么?

4

1 回答 1

45

VirtualizationMode设置为Recycling时,VirtualizingStackPanel将重复使用项目容器,而不必创建一个新容器。如果我们从这个开始

------------------------- 
| Container 1  | Data 1 |  
-------------------------  
| Container 2  | Data 2 |  
-------------------------  
| Container 3  | Data 3 |  

然后向下滚动一个位置,因此数据 1 被滚动出视图,数据 4 被滚动到视图中,然后 Recyling 将获取数据 1 的项目容器并将其重用于数据 4。

------------------------- 
| Container 2  | Data 2 |  
-------------------------  
| Container 3  | Data 3 |  
-------------------------  
| Container 1  | Data 4 |  

在使用 Item 容器的附加属性时,我遇到了一些问题,例如,如果我已进入容器 1 的编辑模式,则为绿色背景。向下滚动并且数据 4 也将具有绿色背景,因为仍设置了附加属性。

VirtualizationMode设置为Standard时,VirtualizingStackPanel将创建并丢弃项目容器,而不是重复使用它们。

于 2010-11-29T07:01:58.910 回答