Поделиться через


ListViewCachingStrategy Перечисление

Определение

Перечисляет стратегии кэширования для 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, объекты DataTemplate, которые выбираются DataTemplateSelector, кэшируются типом шаблона данных.

Комментарии

Разработчики приложений могут указать одно из этих значений при создании ListView представления списка, чтобы определить, будет ли представление списка свести к минимуму объем памяти и скорость выполнения путем повторного использования ячеек списка или создать ячейку для каждого элемента в списке. В настоящее время поведение по умолчанию заключается в сохранении данных элементов в созданных ячейках, если они не нужны. (Элементы не нужны, например, если они достаточно далеко от экрана, что их отображение не является неминуемым.) Это поведение соответствует значению RetainElement. По соображениям производительности, скорее всего, поведение по умолчанию будет изменено RecycleElement в будущем выпуске. В то же время разработчики приложений должны указывать RecycleElement при создании нового представления списка по соображениям памяти и производительности.

Преимущество RecycleElement производительности настолько велико, что разработчики приложений были предоставлены ярлыком синтаксиса XAML для инициализации представлений списка. x:TypeArguments Вместо синтаксиса, указывающего параметр конструктора, XAML для ListView(ListViewCachingStrategy) Microsoft.Maui.Controls предоставляет атрибут 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 бы он был указан.

Применяется к