VirtualizingStackPanel.VirtualizationMode = Recycling / Standard实际发生了什么。?
答案 0 :(得分:40)
当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容器的附加属性时,我遇到了一些问题,例如,如果我已进入Container 1的编辑模式,则为绿色背景。向下滚动,数据4也将具有绿色背景,因为附加属性仍然设置。
当VirtualizationMode
设置为Standard
时,VirtualizingStackPanel
将创建并放弃项目容器,而不是重复使用它们。