Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

VirtualizationMode Enum

Definition

Namespace:
System.Windows.Controls
Assembly:
PresentationFramework.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Specifies the method the VirtualizingStackPanel uses to manage virtualizing its child items.

public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode = 
Public Enum VirtualizationMode
Inheritance
VirtualizationMode

Fields

Name Value Description
Standard 0

Create and discard the item containers.

Recycling 1

Reuse the item containers.

Examples

The following example creates a ListBox and sets the 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 : ObservableCollection<String>
{
 public LotsOfItems()
 {
 for (int i = 0; i < 1000; ++i)
 {
 Add("item " + i.ToString());
 }
 }
}
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

Remarks

By default, a VirtualizingStackPanel 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 many items, the process of creating and discarding item containers can negatively affect performance. When VirtualizationMode is set to Recycling, the VirtualizingStackPanel reuses item containers instead of creating a new one each time.

When VirtualizingStackPanel cannot recycle item containers, it uses the standard mode of virtualization, which is to create and discard item containers for each item. The following list describes cases when the VirtualizingStackPanel cannot recycle item containers:

  • The ItemsControl contains item containers of different types. For example, a Menu might have items that use both MenuItem and Separator objects as the item containers.

  • You explicitly create the item containers for the ItemsControl.

Applies to

See also


Feedback

Was this page helpful?