VirtualizationMode 列舉

定義

指定 VirtualizingStackPanel 用來管理其子項目虛擬化的方法。

public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode = 
Public Enum VirtualizationMode
繼承
VirtualizationMode

欄位

名稱 Description
Standard 0

製作並丟棄物品容器。

Recycling 1

重複使用物品容器。

範例

以下範例建立 , ListBox 並將附加屬性設 VirtualizationMode 為回收。

<StackPanel>

  <StackPanel.Resources>
    <src:LotsOfItems x:Key="data"/>
  </StackPanel.Resources>

  <ListBox Height="150" ItemsSource="{StaticResource data}" 
             VirtualizingStackPanel.VirtualizationMode="Recycling" />

</StackPanel>

以下範例展示了前一個範例中使用的資料。

public class LotsOfItems : ObservableCollection<String>
{
    public LotsOfItems()
    {
        for (int i = 0; i < 1000; ++i)
        {
            Add("item " + i.ToString());
        }
    }
}
Public Class LotsOfItems
    Inherits ObservableCollection(Of String)
    Public Sub New()
        For i As Integer = 0 To 999
            Add("item " & i.ToString())
        Next
    End Sub
End Class

備註

預設情況下,a VirtualizingStackPanel 會為每個可見的物品建立一個容器,並在不再需要時丟棄(例如物品被捲出視窗時)。 當 包含 ItemsControl 許多物品時,建立與丟棄物品容器的過程可能會負面影響效能。 當 VirtualizationMode 設定為回收時,會 VirtualizingStackPanel 重複使用物品容器,而不是每次都重新建立一個。

當無法回收物品容器時 VirtualizingStackPanel ,它會使用標準的虛擬化模式,即為每個物品建立並丟棄物品容器。 以下列表描述 VirtualizingStackPanel 了無法回收物品容器的情況:

適用於

另請參閱