共用方式為


ListViewCachingStrategy 列舉

定義

列舉 ListView 的快取策略。

此列舉支援其成員值的位元組合。

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

欄位

名稱 Description
RetainElement 0

表示針對清單檢視的 ItemsSource 屬性中每個項目,會從 DataTemplate 建構唯一的項目。

RecycleElement 1

表示不需要的儲存格會將其繫結內容更新為所需儲存格的內容。

RecycleElementAndDataTemplate 3

表示除了 RecycleElement 指定的行為,還會依資料範本類型快取 DataTemplateSelector 所選取的 DataTemplate 物件。

備註

應用程式開發人員可以在建構 ListView 時指定下列其中一個值,以判斷清單檢視會藉由回收清單儲存格來將記憶體使用量和速度執行降到最低,或改為為清單中的每一個專案產生數據格。 目前,預設行為是在不需要項目數據時,保留其產生的儲存格中的項目數據。 (例如,當專案離螢幕夠遠時,他們的顯示並不迫在眉睫。此行為會對應至的值 RetainElement。 基於效能考慮,預設行為可能會在未來版本中變更為 RecycleElement 。 同時,基於記憶體和效能考慮,應用程式開發人員應該在建構新的清單檢視時指定 RecycleElement

RecycleElement 效能優勢非常出色,因此應用程式開發人員已提供 XAML 語法快捷方式來初始化清單檢視。 x:TypeArguments XAML for Microsoft.Maui.Controls 不是指定建構函式參數的ListView(ListViewCachingStrategy)語法,而是為對應至建構函式快取策略自變數的不存在屬性提供 XAML 屬性。 應用程式開發人員可以將 屬性設定CachingStrategy為 [慣用] 或RetainElement值,RecycleElement以選擇快取策略。 例如:

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

注意:當開發人員指定 RecycleElement時, OnElementChanged 不會在回收儲存格時引發事件。 相反地,當系結內容更新為可用單元格時,會保留數據格,而且其屬性值會變更, OnElementPropertyChanged 並引發事件。 應用程式開發人員應該記得接聽正確的事件,而且應該注意,如果預設行為在未來版本中變更為 RecycleElement ,則必須更新其轉譯器。

注意:UWP 平臺會 RetainElement忽略 ,因為它一律會使用快取來改善效能。 因此,如果開發人員已選擇不使用數據系結,則必須使用 OnBindingContextChanged() 來更新UWP上的儲存格數據,因為它一律會以指定的方式 RecycleElement 運作。

適用於