سؤال

Below is my WinJS.UI.ListView definition. However, onselectionchanged is never called when right clicking or doing Ctrl+Click. I have setup my ListView identically to the samples(which work). Am I missing something? Or could something be interfering, just with the click selection?

this.m_listView = new WinJS.UI.ListView(this.domNode,
        {
        layout : {type: WinJS.UI.GridLayout},
        itemTemplate : this.itemTemplate.bind(this),
        selectionMode: 'multi', 
        tapBehavior: 'invokeOnly',
        swipeBehavior: 'select'
        });

    this.m_listView.oniteminvoked = this.itemInvoked.bind(this);
    this.m_listView.onselectionchanged = this.selectionChanged.bind(this);

EDIT: I Assign my datasource in a separate function with these lines

var itemList = new WinJS.Binding.List(this.m_nodes);
this.m_listView.itemDataSource = itemList.dataSource;

This ListView is wrapped in a javascript class. So my template function is a prototype of my EntriesList class. This is that function(I pulled out the real content for simplicity, I still have this issue with the content though):

EntriesList.prototype.itemTemplate = function(itemPromise)
     {
     return itemPromise.then
        (
        function (item) 
            {
            var entry = document.createElement("div");
            entry.className = "tile";
            entry.style.height = "120px";
            entry.style.width = "340px";
            return entry;
            }
       );
هل كانت مفيدة؟

المحلول

The issue was something in our internal API was blocking pointer events. We were able to resolve the problem. The code/configuration in the question works.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top