![](/img/trans.png)
[英]c# how do I check If the mouse cursor is hovering over something clickable?
[英]In WPF, how can I capture mouse on a Canvas and still find what controls the cursor is hovering over?
我有一个自定义的Canvas控件(从Canvas继承),覆盖了大范围的用户控件。 这个想法是在用户控件(即连接器线)之间绘制路径。
为了捕获鼠标的移动,我在MouseDown上调用Mouse.Capture(theCanvas)
。 这很漂亮,但是用户在画布下的控件显然不再接收鼠标事件。 Mouse.DirectlyOver
始终显示画布,因此我不能通过偷看当前位置并查看结束了哪个用户控件来伪造画布。
因此,我仍然需要使用Canvas绘制路径,但是如何解决以下一种方法:
任何其他想法都欢迎...
我同意这是您的两个选择。 如果您只想将一些点击转发给用户控件,请选择选项1,然后在画布下点击测试控件。
如果您需要用户控件的行为好像没有什么东西覆盖它们(文本框,按钮等),那么我建议您在用户控件的父控件上使用PreviewMouseMove事件,因为这可以拾取控件之前的事件并可以选择“处理”事件获取事件,但是如果您未将handle设置为true,它将不会阻止事件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.