ListViewCachingStrategy 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ListView のキャッシュ方法を列挙します。
この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。
public enum class ListViewCachingStrategy
[System.Flags]
public enum ListViewCachingStrategy
[<System.Flags>]
type ListViewCachingStrategy =
Public Enum ListViewCachingStrategy
- 継承
-
ListViewCachingStrategy
- 属性
フィールド
名前 | 値 | 説明 |
---|---|---|
RetainElement | 0 | リスト ビューの ItemsSource プロパティのすべての項目について、DataTemplate から 1 つの一意の要素が作成されることを示します。 |
RecycleElement | 1 | 不要なセルのバインド コンテキストが必要なセルのバインド コンテキストに更新されていることを示します。 |
RecycleElementAndDataTemplate | 3 | RecycleElement によって指定されている動作だけでなく、DataTemplateSelector によって選択されている DataTemplate オブジェクトがデータ テンプレート型によってキャッシュされることを示します。 |
注釈
アプリケーション開発者は、リスト ビューでリスト セルを ListView リサイクルしてメモリ占有領域と実行速度を最小限に抑えるか、代わりにリスト内のすべての項目のセルを生成するかを決定するために、これらの値のいずれかを指定できます。 現在、既定の動作では、不要な場合に、生成されたセルに項目データを保持します。 (たとえば、画面外で表示が差し迫っていないほど十分な場合など、項目は必要ありません)。この動作は、値 RetainElementに対応します。 パフォーマンス上の理由から、既定の動作が将来のリリースに変更 RecycleElement される可能性があります。 それまでの間、メモリとパフォーマンス上の理由から、アプリ開発者は新しいリスト ビューを構築するときに指定 RecycleElement する必要があります。
パフォーマンスの RecycleElement 利点は非常に大きいので、アプリケーション開発者には、リスト ビューを初期化するための XAML 構文ショートカットが提供されています。 コンストラクターのパラメーターListView(ListViewCachingStrategy)を指定する構文のx:TypeArguments
代わりに、Microsoft.Maui.Controls の XAML は、コンストラクターのキャッシュ戦略引数に対応する存在しないプロパティの XAML 属性を提供します。 アプリケーション開発者は、属性を CachingStrategy
(推奨) またはRetainElement
値のいずれかにRecycleElement
設定して、キャッシュ戦略を選択できます。 次に例を示します。
<ListView CachingStrategy="RecycleElement" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- ... -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
注: 開発者が指定 RecycleElementした場合、 OnElementChanged
セルがリサイクルされるときにイベントは発生しません。 代わりに、セルが保持され、バインディング コンテキストが使用可能なセルのコンテキストに更新されると、そのプロパティ値が変更され、 OnElementPropertyChanged
イベントが発生します。 アプリケーション開発者は、正しいイベントをリッスンすることを忘れないでください。また、将来のリリースで既定の動作が変更された場合は、レンダラーを更新する必要があることに注意してください RecycleElement 。
注: UWP プラットフォームでは、パフォーマンスを向上させるためにキャッシュが常に使用されるため、無視 RetainElementされます。 そのため、開発者がデータ バインディングを使用しないことを選択した場合は、常に指定されたかのようにRecycleElement動作するため、UWP のセル データを更新するために使用OnBindingContextChanged()する必要があります。
適用対象
.NET MAUI