私は2分ごとに更新されるListViewに取り組んでいます。リストビューは複数のテンプレートを使用します(カスタムitemTemplate関数を使用して割り当てられます)
リストビューに複数のテンプレートがあるため、dataSource.change関数を使用してデータを単純に更新することはできません。最新のデータに基づいて正しいテンプレートを再度選択できるように、dataSourceをリセットする必要があります。
しかし、dataSourceを再割り当てすると、気が散るちらつきアニメーションが発生します。そのアニメーションを取り除きたいです。
var listView = element.querySelector('.my-list-view').winControl;
var list = new WinJS.Binding.List(data);
listView.itemTemplate = function (itemPromise) {
return itemPromise.then(function (item) {
var container = document.createElement("div");
var itemTemplate;
switch (item.data.status) {
case "Final":
itemTemplate = element.querySelector(".final-template");
break;
case "NotFinal":
itemTemplate = element.querySelector(".not-final-template");
break;
}
itemTemplate.winControl.render(item.data, container);
container.style.height = '120px';
container.style.width = '380px';
return container;
});
};
listView.itemDataSource = list.dataSource;
listView.addEventListener("contentanimating", function (e) { e.preventDefault() });