是否可以将单击事件添加到ListView互动程序中的图标?

是否可以将单击事件添加到ListView互动程序中的图标?,listview,objectlistview,Listview,Objectlistview,我已覆盖列表视图的“绘制”事件以绘制我自己的各个分幅。在每个平铺上,我想放置一个手机图标,并在其上附加一个单击事件,以便用户可以单击平铺listview项目中的小图标,然后它执行一个命令 我还想实现一个悬停类型的场景,当鼠标悬停在图标上时,我可以更改图标颜色或文本颜色 有人知道这是否可能吗 如果有什么不同的话,我将在平铺视图中使用ObjectListView。我猜您正在使用ObjectListView的ItemRenderer自定义绘制平铺 每个渲染器都有一个HitTest方法。在渲染器中,重写

我已覆盖列表视图的“绘制”事件以绘制我自己的各个分幅。在每个平铺上,我想放置一个手机图标,并在其上附加一个单击事件,以便用户可以单击平铺listview项目中的小图标,然后它执行一个命令

我还想实现一个悬停类型的场景,当鼠标悬停在图标上时,我可以更改图标颜色或文本颜色

有人知道这是否可能吗

如果有什么不同的话,我将在平铺视图中使用ObjectListView。

我猜您正在使用ObjectListView的ItemRenderer自定义绘制平铺

每个渲染器都有一个HitTest方法。在渲染器中,重写此方法,当给定点位于感兴趣的内容上时,将OlvListViewHitTestInfo.HitTestLocation更改为用户定义,将OlvListViewHitTestInfo.UserData更改为您想要的任何内容,例如电话

ObjectListView.MouseMoveHitTest保存上次鼠标移动的命中测试信息

设置MouseUp事件处理程序,在该处理程序中,查看MouseMoveHitTest.HitTestLocation和MouseMoveHitTest.UserData属性,查看鼠标单击时是否在手机上方


同样,在绘制互动程序时,您可以使用这些相同的属性来决定是否突出显示手机。

非常感谢您的回复。我很兴奋能试着让它工作起来。你有什么例子让我完全理解吗。我明白你的意思,只是不知道如何正确设置。谢谢你,我现在几乎可以工作了,谢谢。我现在唯一的问题是,我必须点击每个瓷砖项目两次,它才能工作。第一次单击它时,MouseMoveHitTest.UserData什么也不返回,但第二次它返回我的字符串值。