ListViewCachingStrategy 枚举

定义

枚举 ListView 的缓存策略。

此枚举支持其成员值的按位组合。

public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy = 
Public Enum ListViewCachingStrategy
继承
ListViewCachingStrategy
属性

字段

RecycleElement 1

指示不需要的单元格的绑定上下文将更新至所需单元格的绑定上下文。

RecycleElementAndDataTemplate 3

指示数据模板类型不仅缓存 RecycleElement 指定的行为,也缓存 DataTemplateSelector 所选择的 DataTemplate 对象。

RetainElement 0

指示对于列表视图 ItemsSource 属性中的每个项目,都将通过 DataTemplate 构造一个唯一元素。

注解

应用程序开发人员可以在构造一个 ListView 值时指定这些值之一,以确定列表视图是否会通过回收列表单元格来最大程度地减少内存占用量和执行速度,或者改为为列表中的每一项生成一个单元格。 目前,默认行为是在不需要项数据时保留其生成的单元格中的项数据。 (项不需要,例如,当项离屏幕足够远时,其显示不迫在眉睫。) 此行为对应于值 RetainElement。 出于性能原因,默认行为可能会在未来版本中更改为 RecycleElement 。 同时,出于内存和性能原因,应用开发人员应在构造新的列表视图时指定 RecycleElement

性能优势 RecycleElement 非常出色,因此应用程序开发人员已提供用于初始化列表视图的 XAML 语法快捷方式。 x:TypeArguments XAML for Microsoft.Maui.Controls 不是为构造函数指定参数的ListView(ListViewCachingStrategy)语法,而是为与构造函数的缓存策略参数相对应的不存在属性提供 XAML 属性。 应用程序开发人员可以将属性 CachingStrategy 设置为 RecycleElement (首选 RetainElement) 或值来选择缓存策略。 例如:

<ListView CachingStrategy="RecycleElement" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- ... -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

注意:当开发人员指定 RecycleElement时, OnElementChanged 在回收单元格时不会引发事件。 相反,当绑定上下文更新为可用单元格时,会保留该单元格,并且其属性值会更改,则会 OnElementPropertyChanged 引发事件。 应用程序开发人员应记住侦听正确的事件,并应注意,如果默认行为在将来版本中更改为 RecycleElement ,则需要更新其呈现器。

注意:UWP 平台忽略 RetainElement,因为它始终使用缓存来提高性能。 因此,如果开发人员选择不使用数据绑定,则必须使用 OnBindingContextChanged() 它们来更新 UWP 上的单元格数据,因为它的行为始终与指定一样 RecycleElement

适用于