WPFでのVirtualizingStackPanelの適切な使用
-
24-10-2019 - |
質問
WPFでVirtualizingStackPanelを適切に使用する方法を誰かが教えてもらえますか? ItemsControl用のItempanelTemplateにVirtualizingStackPanelを設定し、Itemshostとして設定しましたが、アイテムコントロールでCleanUpVirtualIzeTem添付イベントのリスナーを登録すると、何も起こりません。イベントが呼ばれるのがわかりません。また、データテンプレート内のカスタムコントロール上のアンロードされたイベントのいずれも呼び出されることもありません。実際の仮想化が進行していないことを示しています。どんな助けも大歓迎です。
解決
代わりにlistboxまたはlistViewを使用してみてください。
<ListBox ItemsSource="{Binding Items}"
VirtualizingStackPanel.VirtualizationMode="Recycling"
VirtualizingStackPanel.CleanUpVirtualizedItem="ItemsControl_CleanUpVirtualizedItem">
</ListBox>
ListBoxは、アイテムの仮想化を自動的に処理します - VirtualizingStackPanelを直接作成する場合、もう少し手動で作業が必要です。それの訳は ItemsControlのデフォルトのControlTemplateにはScrollViewerがありません。これは仮想化の鍵です - より詳しい情報 ここ.
所属していません StackOverflow