Share via


VirtualizingStackPanel.IsVirtualizing 附加属性

定义

获取或设置一个值,该值指示此 VirtualizingStackPanel 正在虚拟化其子集合。

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

示例

以下示例演示如何绑定到 XML 数据源,并使用 XAML 虚拟化元素中显示的 ListBox 项。 请注意,IsVirtualizing 附加属性显式设置为 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>

注解

标准布局系统创建项容器,并计算与列表控件关联的每个项的布局。 “虚拟化”一词是指一种技术,根据屏幕上可见的项,从更多的数据项生成 UI 元素子集。 如果屏幕上可能只有少量元素,则生成许多 UI 元素可能会对应用程序的性能产生不利影响。 VirtualizingStackPanel计算可见项的数量,并使用 ItemContainerGeneratorItemsControl ((如 ListBoxListView) )来仅为可见项创建 UI 元素。

依赖项属性信息

|标识符字段|IsVirtualizingProperty| |元数据属性设置为 true|无|

适用于

另请参阅