1

我使用的ListBox有VirtualizingStackPanel,據說默認支持UI虛擬化。WP7 Listbox UI虛擬化如何工作

然而,當我把我的listStudentObservableCollection類型,並在這5名學生)作爲ItemsSourceListbox。然後,每當用戶滾動到結尾,我添加另外5個學生到我的名單學生(當然UI是通知)。但是我看到消耗的內存在不斷增加。在內存方面與StackPanel沒有什麼不同

UI虛擬化如何工作?添加新物品時如何保持低位listStudent

+0

OS預載3大小的屏幕的(?)。你能增加更多的學生(例如100)來看看差異嗎? – Ku6opr

+0

@ Ku6opr我多次添加5個學生,所以當我的listStudent.Count達到100以上時,我向上滾動。 ListBox虛擬化機制必須銷燬那些不在屏幕上的ListBoxItem。但它不! – onmyway133

回答

0

虛擬化手段列表不構建您尚未滾動到的列表項目。

所以你可以把你的測試代碼放到項目的加載函數或使用的轉換器代碼中。你可以看到虛擬化的工作是否

例如

您可以將轉換器結合學生的姓名道具,當該項目創建確實

0

確保你不修改就可以登錄它。那麼你知道ListBoxItemsPanel,破壞UI虛擬化