0

以下のコードで記述されているように、グリッドビュー内のスクロールビューアーをキャプチャし、その ViewChanged イベントをバインドするインクリメンタル ロードを実装しました。スクロールがページの最後に達したときにのみ Web サービスを呼び出す必要があるというロジックを実装する必要がありますか? 現在、私は次の方法を行っています:

private ScrollViewer _scroll;

this._scroll = GetVisualChild<ScrollViewer>(grdVw1);
            if (_scroll != null)
                _scroll.ViewChanged += scroll_ViewChanged;

async void scrollSnap_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
        {
            // Call the web service
            if (_scrollSnap.ScrollableWidth - _scrollSnap.HorizontalOffset < 10)
            {
                // Webservice call
            }
        }
4

1 に答える 1

1

1 つの方法は、データ コレクション オブジェクトにISupportIncrementalLoadingを実装することです。コレクションがこれを実装している場合、ユーザーがページの最後までスクロールしたときに、GridViewまたはListViewが自動的にデータ ロードの呼び出しを行います。

IObserveableVectorもありますが、私は使っていません。

于 2013-03-18T12:51:39.267 に答える