我有一個ListView
它可能包含很多項目,所以它是virtualized
和回收項目。它不使用排序。我需要刷新一些值顯示,但是當項目太多時,更新所有內容太慢,所以我只想刷新可見項目。獲取列表查看可見項
我怎樣才能得到所有當前顯示的項目清單?我試圖查看ListView
或ScrollViewer
,但我仍然不知道如何實現此目的。解決方案不能通過所有項目來測試它們是否可以被看到,因爲這太慢了。
我不知道代碼或XAML將是有益的,它只是一個Virtualized
/Recycling ListView
綁定到一個Array
其ItemSource
。
編輯: 答:
感謝akjoshi,我找到了辦法:
得到
ListView
(的ScrollViewer
有FindDescendant
方法,你可以做你自己與VisualTreeHelper
)。閱讀其
ScrollViewer.VerticalOffset
:這是顯示- 的第一個項目的數量讀取其
ScrollViewer.ViewportHeight
:這是顯示的項目數。
Rq:CanContentScroll
必須爲真。
你如何填你的ListView?顯式創建ListViewItem? ItemSource的設置?捆綁 ?或許給我們一些代碼! –