wpf 如果列表加载超多数据变的卡顿时,使用VirtualizingStackPanel

如果列表加载超多数据变的卡顿时

<ListBox >
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <VirtualizingStackPanel Orientation="Vertical" />//加这句
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>

  <ItemsControl.ItemTemplate>
    <DataTemplate>

    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ListBox>

解释:

When a WPF ItemsControl is bound to a large collection data source, with UI virtualization enabled, the control will only create visual containers for the items that are actually visible (plus a few above and below). This is typically only a small fraction of the entire collection. When the user scrolls, new visual containers are created as items become visible, and old containers are disposed when items are no longer visible. When container recycling is enabled, it will reuse visual containers instead of creating and disposing, avoiding the object instantiation and garbage collection overheads.

原文地址:https://www.cnblogs.com/zsx-blog/p/7940506.html