首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >忽略覆盖/装饰器上的鼠标点击,但处理MouseEnter事件

忽略覆盖/装饰器上的鼠标点击,但处理MouseEnter事件
EN

Stack Overflow用户
提问于 2010-10-09 03:44:21
回答 1查看 7.9K关注 0票数 22

我真正想要的是一个忽略鼠标点击事件,但仍然捕获鼠标进入和离开事件的IsHitTestVisible版本。

背景:无论何时,都会在带有焦点的控件下弹出一个信息覆盖。这是一个要求,所以我不能随意删除此行为。这是使用一个装饰器实现的,该装饰器包含一个矩形形状,并用图像画笔填充。所有控件都是以编程方式创建的,不涉及XAML。

所需的行为:当用户将鼠标移到矩形上时,它应该变得部分透明。这样他们就可以看到覆盖图下面的其他控件并单击它们。当用户单击覆盖图时,单击应该传递到覆盖图下的任何控件,就在用户单击的位置。

问题:如果将IsHitTestVisible设置为True以允许鼠标单击通过,则无法获得MouseEnter事件。

有没有一种简单的方法可以离开IsHitTestVisible True,然后将除2-3个事件之外的所有事件传递给装饰器下面的正确控件?我正在寻找一种不涉及计算光标下的控件的解决方案,因为WPF显然能够为我做这件事。

或者,我是否可以将IsHitTestVisible设置为False,然后使用另一种简单的方法来确定鼠标何时位于装饰器上?

更新:我仍然希望得到一个答案,但到目前为止,最有希望的解决方案似乎是让IsHitTestVisible保持为真,并使用WPF测试API来确定鼠标光标下面是哪种类型的控件;如果是我所知道的控件,我会向它发送一个单击命令。不过,我不确定这样做是否值得;到目前为止,单击会取消我的覆盖,因此用户只需单击两次。

谢谢!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3893809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档