Какова реальная разница между 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
будет создавать и отбрасывать контейнеры для предметов вместо их повторного использования.