This documentation is archived and is not being maintained.

VirtualizingPanel Class

Provides a framework for Panel elements that virtualize their child data collection. This is an abstract class.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public abstract class VirtualizingPanel : Panel
This class is abstract; see Inheritance Hierarchy for derived non-abstract classes usable in XAML.

In this context, "virtualize" refers to a technique by which a subset of user interface (UI) elements are generated from a larger number of data items based on which items are visible on the screen. It is intensive, both in terms of memory and processor, to generate a large number of UI elements when only a few may be on the screen at a given time. Through functionality that is provided by VirtualizingPanel, VirtualizingStackPanel calculates visible items and works with the ItemContainerGenerator from an ItemsControl (such as ListBox or ListView) to only create UI elements for visible items.

The following example demonstrates how to use the derived VirtualizingStackPanel class in Extensible Application Markup Language (XAML).

<StackPanel DataContext="{Binding Source={StaticResource Leagues}}">
    <TextBlock Text="{Binding XPath=@name}" FontFamily="Arial" FontSize="18" Foreground="Black"/>
        <ListBox VirtualizingStackPanel.IsVirtualizing="True" 
                 ItemsSource="{Binding XPath=Team}" 
                 ItemTemplate="{DynamicResource NameDataStyle}"/>      


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0