VirtualizationMode 열거형

정의

VirtualizingStackPanel 자식 항목 가상화를 관리하는 데 사용하는 메서드를 지정합니다.

public enum class VirtualizationMode
public enum VirtualizationMode
type VirtualizationMode = 
Public Enum VirtualizationMode
상속
VirtualizationMode

필드

Name Description
Standard 0

항목 컨테이너를 만들고 삭제합니다.

Recycling 1

항목 컨테이너를 다시 사용합니다.

예제

다음 예제에서는 연결된 ListBox 속성을 만들고 휴지통으로 설정합니다 VirtualizationMode .

<StackPanel>

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

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

</StackPanel>

다음 예제에서는 이전 예제에서 사용된 데이터를 보여 있습니다.

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

설명

기본적으로 VirtualizingStackPanel 표시되는 각 항목에 대한 항목 컨테이너를 만들고 더 이상 필요하지 않을 때(예: 항목이 보기 밖으로 스크롤되는 경우) 삭제합니다. 항목이 ItemsControl 많은 경우 항목 컨테이너를 만들고 삭제하는 프로세스는 성능에 부정적인 영향을 줄 수 있습니다. 휴지통 VirtualizationMode 으로 설정되면 VirtualizingStackPanel 매번 새 컨테이너를 만드는 대신 항목 컨테이너를 다시 사용합니다.

항목 컨테이너를 재활용할 수 없는 경우 VirtualizingStackPanel 각 항목에 대한 항목 컨테이너를 만들고 삭제하는 표준 가상화 모드를 사용합니다. 다음 목록에서는 항목 컨테이너를 VirtualizingStackPanel 재활용할 수 없는 경우를 설명합니다.

  • ItemsControl 다양한 형식의 항목 컨테이너를 포함합니다. 예를 들어 항목 컨테이너로 Menu 개체와 MenuItem 개체를 모두 Separator 사용하는 항목이 있을 수 있습니다.

  • 에 대한 ItemsControl항목 컨테이너를 명시적으로 만듭니다.

적용 대상

추가 정보