Export (0) Print
Expand All

VirtualizingPanel.VirtualizationMode Attached Property

.NET Framework 4.5

Gets or sets how a panel in an ItemsControl virtualizes its child items.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

'Declaration
See GetVirtualizationMode, SetVirtualizationMode
<object VirtualizingPanel.VirtualizationMode="VirtualizationMode" .../>

Property Value

Type: System.Windows.Controls.VirtualizationMode
One of the enumeration values that specifies how a panel in an ItemsControl virtualizes its child items.

By default, a VirtualizingPanel creates an item container for each visible item and discards it when it is no longer needed (such as when the item is scrolled out of view). When an ItemsControl contains a lot of items, the process of creating and discarding item containers can negatively affect performance. When VirtualizingPanel.VirtualizationMode is set to Recycling, the VirtualizingPanel reuses item containers instead of creating a new one each time.

The following example creates a ListBox and sets the VirtualizingStackPanel.VirtualizationMode attached property to Recycling.

<StackPanel>

  <StackPanel.Resources>
    <src:LotsOfItems x:Key="data"/>
  </StackPanel.Resources>

  <ListBox Height="150" ItemsSource="{StaticResource data}" 
             VirtualizingStackPanel.VirtualizationMode="Recycling" />

</StackPanel>

The following example shows the data used in the previous example.

Public Class LotsOfItems
    Inherits ObservableCollection(Of String)
    Public Sub New()
        For i As Integer = 0 To 999
            Add("item " & i.ToString())
        Next
    End Sub
End Class

.NET Framework

Supported in: 4.6, 4.5
Show:
© 2015 Microsoft