Какова реальная разница между Recycling/Standard свойства VirtualizationMode в VirtualizingStackPanel?

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

1 ответ

Решение

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

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

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

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

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

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

Другие вопросы по тегам