wpfvirtualizingstackpanel

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


What is actually happening in VirtualizingStackPanel.VirtualizationMode = Recycling/Standard.?


Solution

  • 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.