ListViewCachingStrategy 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ListView에 대한 캐싱 전략을 열거합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy =
Public Enum ListViewCachingStrategy
- 상속
-
ListViewCachingStrategy
- 특성
필드
RetainElement | 0 | 목록 보기의 ItemsSource 속성에 있는 모든 항목에 대해 단일 고유 요소가 DataTemplate에서 구성됨을 나타냅니다. |
RecycleElement | 1 | 불필요한 셀이 필요한 셀의 바인딩 컨텍스트로 업데이트됨을 나타냅니다. |
RecycleElementAndDataTemplate | 3 | RecycleElement에 의해 지정된 동작 외에도 DataTemplateSelector에서 선택된 DataTemplate 개체가 데이터 템플릿 형식에 의해 캐시되었음을 나타냅니다. |
설명
애플리케이션 개발자는 목록 뷰에서 목록 셀을 재활용하여 ListView 메모리 사용 공간을 최소화하고 실행 속도를 최소화할지, 아니면 목록의 모든 항목에 대한 셀을 생성할지 여부를 결정할 때 이러한 값 중 하나를 지정할 수 있습니다. 현재 기본 동작은 필요하지 않은 경우 생성된 셀에 항목 데이터를 유지하는 것입니다. (예를 들어 화면이 너무 멀어 표시가 임박하지 않은 경우 항목이 필요하지 않습니다.) 이 동작은 값에 RetainElement해당합니다. 성능상의 이유로 향후 릴리스에서 기본 동작이 변경 RecycleElement 될 가능성이 높습니다. 한편, 메모리 및 성능상의 이유로 앱 개발자는 새 목록 보기를 생성할 때 지정 RecycleElement 해야 합니다.
성능 이점 RecycleElement 은 애플리케이션 개발자에게 목록 보기를 초기화하기 위한 XAML 구문 바로 가기를 제공했을 정도로 매우 좋습니다. 생성자에 대한 ListView(ListViewCachingStrategy) 매개 변수를 지정하는 구문 대신 x:TypeArguments
Microsoft.Maui.Controls용 XAML은 생성자의 캐싱 전략 인수에 해당하는 존재하지 않는 속성에 대한 XAML 특성을 제공합니다. 애플리케이션 개발자는 (기본 설정) 또는 RetainElement
값 중 RecycleElement
하나에 특성을 설정 CachingStrategy
하여 캐싱 전략을 선택할 수 있습니다. 예시:
<ListView CachingStrategy="RecycleElement" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- ... -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
참고: 개발자가 지정 RecycleElementOnElementChanged
하면 셀을 재활용할 때 이벤트가 발생하지 않습니다. 대신 셀이 보존되고 바인딩 컨텍스트가 사용 가능한 셀 OnElementPropertyChanged
의 컨텍스트로 업데이트되면 해당 속성 값이 변경되고 이벤트가 발생합니다. 애플리케이션 개발자는 올바른 이벤트를 수신 대기해야 하며, 이후 릴리스에서 기본 동작이 변경 RecycleElement 될 경우 렌더러를 업데이트해야 합니다.
참고: UWP 플랫폼은 항상 캐싱을 사용하여 성능을 향상시키기 때문에 무시됩니다 RetainElement. 따라서 개발자가 데이터 바인딩을 사용하지 않도록 선택한 경우 항상 지정된 것처럼 RecycleElement 동작하기 때문에 UWP에서 셀 데이터를 업데이트하는 데 사용해야 OnBindingContextChanged() 합니다.
적용 대상
.NET MAUI