簡體   English   中英

在WinRT中綁定到ItemsControl的ObservableCollection中的虛擬化/分頁數據

[英]Virtualizing/Paging Data in ObservableCollection bound to ItemsControl in WinRT

我們如何可視化設置為ItemsControl的ItemSource的ObservableCollection或List中的數據? 由於某些技術原因(設計約束),我們在ScrollViewer中使用ItemsControl來創建自定義集合控件,我們不能使用ListView或GridView控件,后者通過ISupportIncremental支持VirtualizingStackPanel和Data Virtualization,因此我們必須在ScrollViewer中使用ItemsControl 。 因此,我們的ScrollViewer控件如何通知綁定的可觀察集合滾動已結束並將更多數據加載到ObservableCollection中,我發現了一些有關隨機訪問數據虛擬化的信息,但不確定如何在WinRT,C#自定義控件中實現該信息。項目,示例代碼會有所幫助

如果要實現自定義列表控件(如果您不使用ListViewGridViewListBox ,則為您),則ScrollViewer將需要成為其模板的一部分,因此您可以偵聽具有以下內容的ViewChangingViewChanged事件IsInertialIsIndeterminate屬性,您可以使用它們來查看滾動是否已停止,並且可以使用這些屬性來確定是否有時間獲取更多數據,或者只是將一些占位符值放在items源中。 您可能還具有item來源屬性,並且由於您想進行自己的虛擬化-盡管您可以將ISupportIncremental用作(希望)一個很好的示例,但您實際上不需要關心ISupportIncremental 您將實現自己的虛擬化面板和源列表。 ScrollViewer視圖更改事件和面板布局將驅動從項目源加載的內容。

至於示例代碼-我還沒有看過,但也希望能看到一些!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM