gpt4 book ai didi

windows-8 - 禁用 ListView 中特定项目的选择和 itemInvoke 事件

转载 作者:行者123 更新时间:2023-12-02 23:23:32 24 4
gpt4 key购买 nike

我有一个 ListView 。默认情况下,所有项目都启用 itemInvokesingle-selection。但现在,我想为 ID 为“disableMe”的一个特定项目禁用selectionitemInvoke(事件和动画)。有办法做到吗?或者是否可以禁用整个组(而不是整个 ListView )的事件。?

最佳答案

回答我自己的问题,因为我今天碰巧弄清楚了。如果您对这个问题有更好的解决方案,请指教。

在 Metro 风格应用程序中,ListView 控件中的选择通常可以通过使用鼠标右键单击或通过触摸进行小的“拖动”/“滑动”来触发。要禁用触摸选择,您需要覆盖该特定项目的 MSPointerDown 事件处理程序。要禁用“右键单击”选择,您需要覆盖该特定项目的 oncontextmenu 事件。

如果您在 Javascript 中创建 itemTemplate:

function listViewItemTemplate(item) {
// data has boolean properties called 'doNotSelectMe' and 'doNotInvokeMe'
var data = item.data._value;

var itemElement = document.createElement('div');
var itemElement.id = 'testElement';

if (data.doNotSelectMe) {
// disable mouse selection
itemElement.oncontextmenu = function (e) { e.stopPropagation(); };
// disable touch selection
itemElement.addEventListener('MSPointerDown', function (e) {
e.stopPropagation();
});
}

if (data.doNotInvokeMe) {
//disable item invoke event
itemElement.onclick = function (e) { e.stopPropagation(); };
}

return {element: itemElement}

}

关于windows-8 - 禁用 ListView 中特定项目的选择和 itemInvoke 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10555697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com