ListBoxでスクロールバウンズを利用して更新処理をおこなう

By | 2013/04/13
Pocket

Windows Phoneでは、ListBoxを限界までひっぱった時にコンテンツ部分がぐぐっと縮まった状態になります。これが発生した時点でページング処理等を動かす事が出来れば、iPhoneやAndroidを使用されているユーザーにとっては説明不要なUIを構築することが可能です。


iPhoneでは、既に当たり前の概念になっており、りぼんさんが「[iPhoneアプリ開発、その(196) TwitBirdっぽい?|テン*シー*シー](http://ameblo.jp/xcc/entry-10490740939.html)」で実装方法を紹介されています。


> こいつは更新側だけど、最下部の項目までスクロールしてさらに引っ張ると、同じように追加の項目が読み込まれます。
>  スクロールバウンズ機構をうまく利用して「まだ、他にあるんじゃない?」ってテーブルの外

Windows Phone OS 7.0では、「[ListBoxのListVerticalOffsetの値を見て、一番下に来たかどうかをチェックを行いページング等の処理](http://ch3cooh.jp/index.php/tips/windowsphone7/formcontrol/listbox/detect-scrollend/)」をおこなう方法しかフレームワークとして提供されておりませんでした。

どちらのページング方法が最適かは提供するアプリのコンセプト次第ですが、選択肢が増えるのは好ましいと言えます。

## 参考

* [WP7.5 でリストボックスのスクロールエンドで圧縮されるときのイベントを取る](http://blogs.msdn.com/b/shintak/archive/2011/08/06/10193347.aspx)
* [Windows Phone Mango change, Listbox: How to detect compression(end of scroll) states ? – Silverlight for Windows Phone Performance team blog – Site Home – MSDN Blogs](http://blogs.msdn.com/b/slmperf/archive/2011/06/30/windows-phone-mango-change-listbox-how-to-detect-compression-end-of-scroll-states.aspx)