我在同一画布上有几个控件,可能会相互覆盖。它们都具有相同的zIndex,但是由于加载顺序不同,有些在上面,有些在下面。 我的问题是如果A控件在B控件上方,并且我点击它们,但只有A接收到点击事件,如何让B也接收到事件?谢谢。
我在同一画布上有几个控件,可能会相互覆盖。它们都具有相同的zIndex,但是由于加载顺序不同,有些在上面,有些在下面。 我的问题是如果A控件在B控件上方,并且我点击它们,但只有A接收到点击事件,如何让B也接收到事件?谢谢。
IsHitTestVisible = False
设置为后面的控件才能接收事件 - 但这并不是您想要的。没有机会。即使将MouseClick标记为未处理,它也会路由到父元素(Canvas)而不是兄弟元素。唯一的方法是命中测试。当用户单击Acontrol时,您应该使用命中测试来确定是否有另一个控件在其下方。
您必须使用带有回调的命中测试。这个命中测试允许您跳过Acontrol以查找Bcontrol。如果找到它,您可以将Bcontrol视为已单击。