为什么wrappanel事件会在孩子的事件发生之前触发?

时间:2012-06-25 15:20:07

标签: wpf events wrappanel

我有一个WrapPanel,它有一个按钮作为子元素。 WrapPanel和Button都定义了PreviewMouseLeftButtonDown事件。

我注意到当我单击Button时,WrapPanel的事件在Button事件之前被触发。无论如何要改变它吗?

2 个答案:

答案 0 :(得分:2)

因为Preview*事件是tunneling,所以它们从根到达源,因此它们首先在面板上提升,该面板更接近根。使用冒泡版本(MouseLeftButtonDown)让活动在树上移动。

答案 1 :(得分:0)

当您将属性 IsHItTestVisible 设置为 false 时,将忽略鼠标触发的事件,例如点击次数。