2017-05-26 39 views
0

私はUWPアプリケーションを作っています。 ObservableCollectionにバインドされたListViewがあります。 ListViewの終わりに達したときを知りたい。 ListViewの終わりに達すると、リストにデータを追加するAPI呼び出しを行う必要があります。ListViewアイテムのインクリメンタルロードを実装する方法は?

ListViewの最後までは、ユーザーがスクロールして、リストビューにさらにデータを取得してさらにスクロールできるようにする必要があります。

ユーザーが完全にスクロールしたことをどのようにして知ることができますか? UWPコミュニティツールキットで

+0

で使用Incremental Loading Collection Helpers、あなたの質問を絞り込む私たちにいくつかのコードを表示し、私たちはあなたと苦労しているコードのどの部分お知らせください。あなたは 'ListView到達の終わり 'とは何を考えていますか?ユーザーは全部スクロールしましたか?または、あなたのコードは、ListViewの読み込みを完了ですか? –

+0

@ blaze_125質問に追加されました。コードには何もありません。ObservableCollectionからアイテムを受け取るListViewだけです。 –

+0

これを見て - > [handling-scroll-event-on-c-sharp-list](https://stackoverflow.com/questions/1851620/handling-scroll-event-on-listview-in)を参照してください。 -c-sharp)これはUWP固有ではありませんが、それはあなたが行くのを助けるかもしれません。 –

答えて

3

UWPコミュニティツールキット

using Microsoft.Toolkit.Uwp; 

public class Person 
{ 
    public string Name { get; set; } 
} 
public class PeopleSource : IIncrementalSource<Person> 
{ 
    private readonly List<Person> people; 

    public async Task<IEnumerable<InfoOverView>> GetPagedItemsAsync(int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken)) 
    { 
     return AddItems(); 
    } 

    public void AddItems() 
    { 
     people.Clear(); 
     //Code to add the additional items in the people List 
     return people; 
    } 
} 

//In Page.xaml.cs 
public Page() 
{ 
    this.InitializeComponent(); 
    var collection = new IncrementalLoadingCollection<PeopleSource, Person>(); 
    MasterDetailsViewPanel.ItemsSource = collection; 
} 
0

あなたが探しているものに近い機能があるPullToRefreshListView呼ばUWP ListViewコントロールの特別なバージョンがあります:ユーザーがRefreshRequestedイベントが起動され、リストの終わりを超えて引き下げとき は - ここに新しいアイテムを追加します。

WindowsストアにアクセスしてUWP Community Toolkit Sample Appをダウンロードして、このコントロールのデモを見て、まずはコードの例があることをお勧めします。

+0

[インクリメンタルローディングコレクションヘルパー](http://www.uwpcommunitytoolkit.com/ja/master/helpers/IncrementalLoadingCollection/)をお勧めしました。 –

関連する問題