2017-04-15 47 views
2

我試圖在頁面末尾實現註釋部分,當您向下滾動頁面時要加載註釋。目前我有ListView scrollviewer作爲滾動內容的手段。但是,由於頁面末尾有兩個滾動條,這會讓人覺得不一致,如果主滾動查看器沒有完全滾動,它會變得混亂。UWP:使用ISupportIncrementalLoading鏈接滾動查看器

Example

的評論控制是一個單獨的用戶控件,其中,所述註釋的ListView處於樞軸控制。我有一個ScrollViewer的依賴屬性,我使用x:bind從頁面的可視化樹中獲取。

有沒有辦法讓這些scrollviewers作爲一個?用一個滾動條,並滾動的頁面導致ItemSource增量加載?

我使用從UWP社區工具包IncrementalLoadingCollection作爲ISupportIncrementalLoading對象。

+0

所以,爲了確保我能理解,你試圖從它的父ScrollViewer的滾動超出它在VerticalOffset中的位置調用ListView(註釋)內的調用虛擬化? –

+0

是的,從本質上講,我希望它能夠在您滾動父滾動查看器時顯示更多的ListView(就像只有一個滾動查看器一樣),並且在發生滾動時同時發生虛擬化。如果你刪除了我在Grid上設置的MaxHeight,我在ListView所在的Pivot控件中設置了MaxHeight,它將作爲一個滾動查看器,除了它一次加載整個項目列表(擊敗ISupportIncrementialLoading)。 –

+0

與此類似:http://stackoverflow.com/questions/22946009/isupportincrementalloading-inside-scrollviewer-not-supported –

回答

0

我想你弄錯的辦法,爲什麼,而不是使用X:綁定,不要試圖使用X:相,無相間的每個元素立刻被渲染,但他們可以控制的時候,使它們。

也UWP有X:DeferLoadStrategy =「懶」

降低啓動時產生的元素個數,聲明UIElement派生的物品(或容器),你不希望呈現

其他方式來實現一個元件 FindName() GetTemplatedChild()(針對的ControlTemplate) 故事板& VisualStates(因爲FindName的)

當然這心不是自由輕質代理元件被創建,後事件掛接實現,綁定完成後實現(包括X:綁定)

這就是我最好的答案,如果你能有共同的一些代碼,我也許可以在主題加深了。

希望我的回答能幫助你!

+0

我的列表視圖包含UserControl元素,所以x:Phase不是很有用。我想使用ISupportIncremential Loading,因爲它允許我在滾動時從服務器收集更多評論。爲什麼我爲Main Scrollviewer使用x:bind,唯一的原因是我可以將它拉入到CommentsControl UserControl中包含的邏輯中。我會在哪裏檢查滾動事件(但我不知道如何通過Inertia動態調整大小)。 –