Как я могу запустить анимацию загрузки WinJS ListView

есть ли способ запустить анимацию загрузки ListView вручную?

Я загружаю некоторые данные при запуске из веб-службы и хотел бы отобразить индикатор занятости.

 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 всякий раз, когда это необходимо?

Спасибо за любую помощь...


person silverfighter    schedule 25.01.2013    source источник


Ответы (2)


Согласно этой теме кольцо прогресса появится только в том случае, если ListView подключен к асинхронному источнику данных, а WinJS.Binding.List является синхронным. Я не думаю, что есть какие-либо асинхронные источники данных, доступные по умолчанию, поэтому вам нужно будет настроить собственный источник данных, чтобы иметь возможность получить это кольцо прогресса по умолчанию. Я бы порекомендовал просто установить кольцо прогресса для запуска при запуске вашего приложения и удалить его в блоке done вашего обещания данных.

person Paul O.    schedule 25.01.2013
comment
У вас есть пример? Потому что у меня есть служба с асинхронным методом, и я привязываю результат как список привязок, потому что я думал, что это то, что хочет/нужно ListView. Как будет выглядеть асинхронный источник данных? - person silverfighter; 25.01.2013

Вам необходимо создать собственный пользовательский источник данных списка. WinJS предоставляет утилиты, позволяющие сделать это довольно легко. Это хороший пример для веб-службы Bing. Если вам нужно больше примеров того, как написать свой собственный источник данных/адаптер данных, дайте мне знать, я написал несколько.

person Szymon Rozga    schedule 08.02.2013