Подтвердить что ты не робот

Какова фактическая разница между Утилитой/Стандартом свойства VirtualizationMode в VirtualizingStackPanel?

Что на самом деле происходит в VirtualizingStackPanel.VirtualizationMode = Recycling/Standard.?

4b9b3361

Ответ 1

Если для параметра VirtualizationMode установлено значение Recycling, VirtualizingStackPanel будет повторно использовать контейнеры элементов вместо создания нового. Если мы начнем с этого

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

И прокрутите одну позицию вниз, так что данные 1 прокручиваются вне поля зрения, а данные 4 прокручиваются в вид, а Recyling возьмет контейнер данных для Data 1 и повторно использует его для Data 4.

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

У меня были некоторые проблемы с этим при использовании прикрепленных свойств для контейнера Item, например, Green background, если я ввел режим редактирования для контейнера 1. Прокрутка вниз, а Data 4 также будет иметь зеленый фон, поскольку свойство Attached Property все еще установлено,

Если для параметра VirtualizationMode установлено значение Standard, VirtualizingStackPanel создаст и отменит контейнеры элементов вместо повторного использования.