what is the actual difference between Recycling/Standard of VirtualizationMode property in VirtualizingStackPanel? what is the actual difference between Recycling/Standard of VirtualizationMode property in VirtualizingStackPanel? wpf wpf

what is the actual difference between Recycling/Standard of VirtualizationMode property in VirtualizingStackPanel?


When VirtualizationMode is set to Recycling, the VirtualizingStackPanel will reuse item containers instead of having to create a new one. If we start out with this

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

And scroll one position down, so Data 1 is scrolled out of view and Data 4 is scrolled into view then Recyling will take the item container for Data 1 and reuse it for Data 4.

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

I've had some problems with this when using attached properties for the Item container, e.g Green background if I have entered edit mode for Container 1. Scrolling down and Data 4 will also have Green background since the Attached Property was still set.

When VirtualizationMode is set to Standard, the VirtualizingStackPanel will create and discard item containers instead of reusing them.