我WinJS.UI.ListView
在一个用于 Windows-8 Metro 界面的 JavaScript 项目中使用了一个。
这是 HTML 代码:
<div id="myMain">
<div id="myListTemplate" data-win-control="WinJS.Binding.Template">
<div class="myListViewItem">
<p data-win-bind="innerText: description"></p>
</div>
</div>
<div id="myListView"
data-win-control="WinJS.UI.ListView"
data-win-options="{ itemTemplate: myTemplate, layout: {type: WinJS.UI.ListLayout} }">
</div>
</div>
和 JavaScript 的一部分:
ready: function (element, options) {
// Set up the ListView.
var myLView = myListView.winControl;
WinJS.UI.setOptions(favoritesLView, {
itemDataSource: dataSource,
oniteminvoked: this.onItemInvoked.bind(this),
selectionMode: WinJS.UI.SelectionMode.none
});
},
dataSource
列表信息存储在哪里。它是从以下位置获得的列表:
var myList = new WinJS.Binding.List(myJSONarray);
该代码在横向和纵向视图中工作,但在快照视图中不起作用。尽管myList
包含所有元素,但列表视图显示为空。
这是 Windows 8 中的错误吗?有人知道解决方法吗?我发现这个链接有同样的问题,但它的解决方案对我不起作用: http ://social.msdn.microsoft.com/Forums/pl-PL/winappswithhtml5/thread/ce8c722d-526b-4226-9e40-642ddb37422b