2

ListView の読み込みアニメーションを手動でトリガーする方法はありますか?

Web サービスからの起動時にいくつかのデータをロードし、ビジー インジケーターを表示したいと考えています。

 function searchData(url) {

        var promise = DataService.getData(query);

        promise.done(function (result) {
            console.dir(result);
            var bindingList = new WinJS.Binding.List(result);

            sectionListView.winControl.itemDataSource = bindingList.dataSource;

        });
    }

これは私が app.onactivated で行うことです

promise = WinJS.UI.processAll();
        promise.done(function () {
            searchData(query);
        });
        args.setPromise(promise);

約束を待っている間、ListView はビジー アニメーションを表示する必要があると読みましたが、これは本当ですか? それとも、これは私が手動でしなければならないことですか...必要に応じてdivを表示および非表示にしますか?

助けてくれてありがとう...

4

2 に答える 2

1

独自のカスタム List Data Sourceを作成する必要があります。WinJS は、これを非常に簡単に行うためのユーティリティを提供します。これは、Bing Web サービスに対する良いサンプルです。独自のデータ ソース/データ アダプターを作成する方法のサンプルがさらに必要な場合は、私に知らせてください。

于 2013-02-08T15:41:14.780 に答える
1

このスレッドによると、進行状況リングは、ListView が非同期データ ソースに接続されている場合にのみ表示されますが、WinJS.Binding.List同期は行われます。デフォルトで使用できる非同期データ ソースはないと思うので、デフォルトの進行状況リングを取得できるようにカスタム データ ソースを設定する必要があります。アプリの起動時にプログレス リングを実行するように設定し、doneデータ プロミスのブロックでそれを削除することをお勧めします。

于 2013-01-25T14:11:59.467 に答える