VirtualizationMode Enum

Definisi

Menentukan metode yang digunakan VirtualizingStackPanel untuk mengelola virtualisasi item turunannya.

public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode = 
Public Enum VirtualizationMode
Warisan
VirtualizationMode

Bidang

Nama Nilai Deskripsi
Standard 0

Buat dan buang kontainer item.

Recycling 1

Gunakan kembali kontainer item.

Contoh

Contoh berikut membuat ListBox dan mengatur VirtualizationMode properti terlampir ke Daur Ulang.

<StackPanel>

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

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

</StackPanel>

Contoh berikut menunjukkan data yang digunakan dalam contoh sebelumnya.

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

Keterangan

Secara default, membuat VirtualizingStackPanel kontainer item untuk setiap item yang terlihat dan membuangnya saat tidak lagi diperlukan (seperti ketika item digulir keluar dari tampilan). ItemsControl Ketika berisi banyak item, proses membuat dan membuang kontainer item dapat berdampak negatif pada performa. Saat VirtualizationMode diatur ke Daur Ulang, VirtualizingStackPanel kontainer item digunakan kembali alih-alih membuat yang baru setiap kali.

Ketika VirtualizingStackPanel tidak dapat mendaur ulang kontainer item, kontainer tersebut menggunakan mode virtualisasi standar, yaitu membuat dan membuang kontainer item untuk setiap item. Daftar berikut ini menjelaskan kasus ketika VirtualizingStackPanel tidak dapat mendaur ulang kontainer item:

  • ItemsControl berisi kontainer item dari berbagai jenis. Misalnya, mungkin Menu memiliki item yang menggunakan objek MenuItem dan Separator sebagai kontainer item.

  • Anda secara eksplisit membuat kontainer item untuk ItemsControl.

Berlaku untuk

Lihat juga