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.
Alt öğelerini sanallaştırmayı yönetmek için kullandığı yöntemi VirtualizingStackPanel belirtir.
public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode =
Public Enum VirtualizationMode
- Devralma
Alanlar
Recycling | 1 | Öğe kapsayıcılarını yeniden kullanın. |
Standard | 0 | Öğe kapsayıcılarını oluşturun ve atı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, bir VirtualizingStackPanel öğe kapsayıcısı görünür her öğe için oluşturur ve artık gerekli olmadığında (örneğin, öğe görünüm dışına kaydırıldığında) atar. ItemsControl çok sayıda öğ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 yenisini 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:
farklı ItemsControl türlerdeki öğe kapsayıcılarını içerir. Örneğin, öğe Menu kapsayıcıları olarak hem hem Separator de MenuItem nesneleri kullanan öğeler olabilir.
için ItemsControlöğe kapsayıcılarını açıkça oluşturursunuz.