Какова фактическая разница между переработкой/стандартом свойства VirtualizationMode в виртуализации StackPanel?
-
29-09-2019 - |
Вопрос
Что на самом деле происходит в виртуализации stackpanel.virtualizationmode = Recycling/Standard.?
Решение
Когда 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 |
У меня были некоторые проблемы с этим при использовании прикрепленных свойств для контейнера элемента, например, зеленый фон, если я ввел режим редактирования для контейнера 1. Прокрутка вниз, а данные 4 также будут иметь зеленый фон, поскольку прилагаемое свойство все еще установлено.
Когда VirtualizationMode
установлен на Standard
, VirtualizingStackPanel
Создаю и отбросит контейнеры элемента вместо повторного использования их.