แก้ไข

แชร์ผ่าน


VirtualizingStackPanel.IsVirtualizing Attached Property

Definition

Gets or sets a value that indicates that this VirtualizingStackPanel is virtualizing its child collection.

see GetIsVirtualizing, and SetIsVirtualizing
see GetIsVirtualizing, and SetIsVirtualizing
see GetIsVirtualizing, and SetIsVirtualizing

Examples

The following example shows how to bind to an XML data source and virtualize the items displayed in a ListBox element by using XAML. Notice that the IsVirtualizing attached property is explicitly set to true.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      WindowTitle="VirtualizingStackPanel Sample"
      Height="150"
      VerticalAlignment="Top">
  <Page.Resources>
    <XmlDataProvider x:Key="Leagues" Source="Leagues.xml" XPath="Leagues/League"/>
    <DataTemplate x:Key="NameDataStyle">
      <TextBlock Text="{Binding XPath=@name}" FontFamily="Arial" FontSize="12" Foreground="Black"/>
    </DataTemplate>
  </Page.Resources>

  <Border HorizontalAlignment="Left"
          VerticalAlignment="Top"
          BorderBrush="Black"
          BorderThickness="2">
    <ScrollViewer>
      <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}"/>
      </StackPanel>
    </ScrollViewer>
  </Border>
</Page>

Remarks

The standard layout system creates item containers and computes layout for each item associated with a list control. The word "virtualize" refers to a technique by which a subset of UI elements are generated from a larger number of data items based on which items are visible on-screen. Generating many UI elements when only a few elements might be on the screen can adversely affect the performance of your application. The VirtualizingStackPanel calculates the number of visible items and works with the ItemContainerGenerator from an ItemsControl (such as ListBox or ListView) to create UI elements only for visible items.

Dependency Property Information

|Identifier field|IsVirtualizingProperty| |Metadata properties set to true|None|

Applies to

See also