VirtualizationMode Enumeráció
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Meghatározza a gyermekelemek virtualizálásának kezelésére használt módszert VirtualizingStackPanel .
public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode =
Public Enum VirtualizationMode
- Öröklődés
Mezők
| Name | Érték | Description |
|---|---|---|
| Standard | 0 | Hozza létre és dobja el az elemtárolókat. |
| Recycling | 1 | Használja újra az elemtárolókat. |
Példák
Az alábbi példa létrehoz egy ListBox csatolt tulajdonságot, és újrahasznosításra VirtualizationMode állítja be.
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
Az alábbi példa az előző példában használt adatokat mutatja be.
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
Megjegyzések
Alapértelmezés szerint egy VirtualizingStackPanel elemtárolót hoz létre minden látható elemhez, és elveti azt, ha már nincs rá szükség (például amikor az elemet kigörgeti a nézetből). Ha egy elem ItemsControl sok elemet tartalmaz, az elemtárolók létrehozásának és elvetésének folyamata negatívan befolyásolhatja a teljesítményt. Ha VirtualizationMode újrahasznosításra van állítva, az VirtualizingStackPanel elemtárolók újra felhasználhatók ahelyett, hogy minden alkalommal újat hoz létre.
Ha VirtualizingStackPanel nem lehet újrafeldolgozni az elemtárolókat, akkor a virtualizálás szokásos módját használja, azaz elemtárolókat hoz létre és elvet minden elemhez. Az alábbi lista azokat az eseteket ismerteti, amikor a VirtualizingStackPanel nem újrahasznosítható elemtárolók:
A ItemsControl különböző típusú elemek tárolói. Előfordulhat például, hogy egy Menu elem tárolóként mindkettőt MenuItem és Separator objektumot is használ.
Explicit módon hozza létre az elemtárolókat a ItemsControl.