VirtualizationMode Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa metodę VirtualizingStackPanel używaną do zarządzania wirtualizacją elementów podrzędnych.
public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode =
Public Enum VirtualizationMode
- Dziedziczenie
Pola
Recycling | 1 | Użyj ponownie kontenerów elementów. |
Standard | 0 | Utwórz i odrzuć kontenery elementów. |
Przykłady
Poniższy przykład tworzy właściwość i ustawia dołączoną ListBox VirtualizationMode właściwość do recyklingu.
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
W poniższym przykładzie przedstawiono dane używane w poprzednim przykładzie.
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
Uwagi
Domyślnie obiekt VirtualizingStackPanel tworzy kontener elementów dla każdego widocznego elementu i odrzuca go, gdy nie jest już potrzebny (na przykład gdy element jest przewijany z widoku). Jeśli element ItemsControl zawiera wiele elementów, proces tworzenia i odrzucania kontenerów elementów może negatywnie wpłynąć na wydajność. Gdy VirtualizationMode jest ustawiona wartość Recyklingu, VirtualizingStackPanel kontenery elementów ponownie są używane zamiast tworzyć nowe za każdym razem.
Gdy VirtualizingStackPanel nie można odzyskać kontenerów elementów, używa standardowego trybu wirtualizacji, który polega na tworzeniu i odrzucaniu kontenerów elementów dla każdego elementu. Poniższa lista zawiera opis przypadków, w których VirtualizingStackPanel kontenery elementów nie mogą odzyskać:
Element ItemsControl zawiera kontenery elementów różnych typów. Na przykład element Menu może zawierać elementy, które używają obiektów i MenuItem Separator jako kontenerów elementów.
Jawnie utworzysz kontenery elementów dla elementu ItemsControl.