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|无|

适用于

另请参阅