1

VirtualizingStackPanelデフォルトでUI仮想化をサポートすると言われているを持っているListBoxを使用しています。

ただし、listStudent(タイプObservableCollectionが5人のStudentが含まれている)を設定ItemsSourceすると、Listbox。次に、ユーザーが最後までスクロールするたびに、listStudentにさらに5人の学生を追加します(もちろんUIに通知されます)。しかし、消費されるメモリは増え続けていることがわかります。StackPanel記憶の面でも違いはありません

UI仮想化はどのように機能しますか?listStudentに新しいアイテムを追加するときにメモリを低く保つ方法は?

4

3 に答える 3

0

Sheldon_Xiao on は、 UI の仮想化を説明するのに役立つ MSDN の参考文献をいくつか指摘しています。

于 2012-11-20T11:36:28.757 に答える
0

仮想化とは、リストがまだスクロールしていないリスト項目を構築しないことを意味します。

そのため、アイテムのロードされた関数または使用されたコンバーター コードにテスト コードを配置できます。仮想化が機能しているかどうかを確認できます

例えば

コンバーターを学生の名前小道具にバインドし、それをログに記録できます。その後、アイテムが実際にいつ作成されるかがわかります

于 2012-11-15T08:13:53.967 に答える
0

ListBox ItemsPanelUI の仮想化を破壊するような変更を加えていないことを確認してください

于 2012-11-15T11:47:16.240 に答える