VirtualizationMode Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
VirtualizingStackPanel alt öğelerini sanallaştırmayı yönetmek için kullandığı yöntemi belirtir.
public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode =
Public Enum VirtualizationMode
- Devralma
Alanlar
| Name | Değer | Description |
|---|---|---|
| Standard | 0 | Öğe kapsayıcılarını oluşturun ve atın. |
| Recycling | 1 | Öğe kapsayıcılarını yeniden kullanın. |
Örnekler
Aşağıdaki örnek bir ListBox oluşturur ve ekli özelliği Geri Dönüşüm olarak ayarlar VirtualizationMode .
<StackPanel>
<StackPanel.Resources>
<src:LotsOfItems x:Key="data"/>
</StackPanel.Resources>
<ListBox Height="150" ItemsSource="{StaticResource data}"
VirtualizingStackPanel.VirtualizationMode="Recycling" />
</StackPanel>
Aşağıdaki örnekte, önceki örnekte kullanılan veriler gösterilmektedir.
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çıklamalar
Varsayılan olarak, görünür VirtualizingStackPanel her öğe için bir öğe kapsayıcısı oluşturur ve artık gerekli olmadığında (örneğin, öğe görüntüden kaydırıldığında) atar. bir ItemsControl çok öğe içerdiğinde, öğe kapsayıcıları oluşturma ve atma işlemi performansı olumsuz etkileyebilir. VirtualizationMode Geri Dönüşüm olarak ayarlandığında, VirtualizingStackPanel öğe kapsayıcıları her seferinde yeni bir tane oluşturmak yerine yeniden kullanılır.
Öğe kapsayıcılarını geri dönüştüremediğinde VirtualizingStackPanel , her öğe için öğe kapsayıcıları oluşturmak ve atmak için standart sanallaştırma modunu kullanır. Aşağıdaki listede, öğe kapsayıcılarının geri dönüştürülemediği durumlar VirtualizingStackPanel açıklanmaktadır:
, ItemsControl farklı türlerdeki öğe kapsayıcılarını içerir. Örneğin, öğe Menu kapsayıcıları olarak hem hem de MenuItemSeparator nesneleri kullanan öğeler olabilir.
için ItemsControlöğe kapsayıcılarını açıkça oluşturursunuz.