WIndows 8 Metro List查看事件监听器

时间:2012-07-27 19:47:11

标签: windows-8 microsoft-metro

我正在尝试为Windows 8创建一个简单的HTML Metro App。我想显示一个列表视图,并根据点击的项目在屏幕上显示不同的内容。这听起来微不足道吧? 但它不起作用!这是我的代码:

<div  id="frameListViewTemplate"  data-win-control="WinJS.Binding.Template">
   <img data-win-bind="src: picture" class="thumbnail" />
</div>
<div id="basicListView" data-win-control="WinJS.UI.ListView" 
    data-win-options="{itemDataSource : DataExample.itemList.dataSource, itemTemplate: select('#frameListViewTemplate'),onselectionchanged : handler}">
</div>

比defult.js

var myListView = document.getElementById("basicListView").winControl;
myListView.addEventListener("selectionchanged", handler);

处理程序:

function handler() {
console.log("Inside the handler  : ");
}
handler.supportedForProcessing = true;

所以从不调用处理程序。我的问题是:如何将事件监听器及其处理程序添加到listview控件。 如何识别列表视图中的哪个元素被单击。

P.S。 列表视图在我的应用程序中正确显示。 谢谢你的帮助, Ĵ

1 个答案:

答案 0 :(得分:2)

要获取“已点击”的项目,您需要使用itemInvoked。如果用户在项目上交叉滑动以选择它,而不是点击/单击以“调用”它,则会发生选择更改。

http://msdn.microsoft.com/en-us/library/windows/apps/br211827.aspx有一些基本的细节。