wpf virtualizingstackpanel

wpf - ¿Cuál es la diferencia real entre la propiedad Reciclado/Estándar de VirtualizationMode en VirtualizingStackPanel?



(1)

Cuando VirtualizationMode se establece en Recycling , VirtualizingStackPanel reutilizará los contenedores de elementos en lugar de tener que crear uno nuevo. Si empezamos con esto

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

Y desplácese una posición hacia abajo, de modo que los datos 1 se desplazan fuera de la vista y los datos 4 se desplazan hasta la vista, luego Recyling tomará el contenedor de elementos para los datos 1 y lo reutilizará para los datos 4.

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

He tenido algunos problemas con esto al usar las propiedades adjuntas para el contenedor del elemento, por ejemplo, fondo verde si he entrado en el modo de edición para el contenedor 1. El desplazamiento hacia abajo y los datos 4 también tendrán un fondo verde ya que la propiedad adjunta aún estaba establecida.

Cuando VirtualizationMode se establece en Standard , VirtualizingStackPanel creará y descartará los contenedores de elementos en lugar de reutilizarlos.

¿Qué está sucediendo realmente en VirtualizingStackPanel.VirtualizationMode = Recycling / Standard.?