我想要一個列表框,我將填充項目。當用戶滾動到listBox
的底部時,listBox
應該加載更多的項目。當滾動到底部列表框時加載更多數據Silverlight不是WP7
在WP7中有很多這樣的教程,但是我沒有發現在Silverlight Web應用程序中執行此操作的任何可靠信息。
嘗試不同的事情時,我設法創建一個方法,當用戶滾動到列表框的底部時可以顯示消息。這是更概念的不是最終實現一個證明:
ScrollViewer scrollViewer = new ScrollViewer();
var childScrollViewer = VisualTreeHelper.GetChild(this, 0);
if (childScrollViewer is ScrollViewer)
scrollViewer = (ScrollViewer)childScrollViewer;
if (scrollViewer.VerticalOffset >= scrollViewer.ScrollableHeight)
MessageBox.Show("You're at the bottom!");
我目前正在打電話從ListBox的MouseWheel
事件此方法。這種方法並不理想,因爲它沒有考慮到用戶單擊滾動條並將其拖動下來。此實現也很差,因爲當用戶滾動到列表框頂部的頂部或時,會顯示消息。
這裏一些不錯的WP7教程我發現,我希望能在Silverlight Web應用程序來實現:
- Here's a WP7 tutorial I can't use
- This one seemed promising but is poorly described and doesn't really work
- Here's another WP7 tutorial I can't use
我只需要指出在正確的方向。無論是教程,還是我可以瞭解的一個概念都可以實現,或者其他任何可以幫助我在Silverlight Web應用程序中實現這一點的技巧。
嗨布魯諾調用此方法,你可以請讓我知道如何你有沒有得到方法scrollViewer = lstEventHistory.GetScrollHost(); 我沒有看到它存在我在ListBox的Silverlight項目conrol – 2013-06-06 06:45:35
嗨,我想我應該提到它,但你必須下載Silverlight工具包才能訪問該方法。根據你的Silverlight版本,你可以下載它[這裏](http://silverlight.codeplex.com/releases/view/43528)或[這裏](http://silverlight.codeplex.com/)。我相信你也可以直接從NuGet中獲得它。 – Bruno 2013-06-07 14:50:15
感謝布魯諾,這段代碼幫了我,順便說一句,只是一個小問題,我試圖用這個邏輯,這個邏輯是否有任何例外?我的意思是任何你不知道的角落案例 – 2013-06-12 05:22:48