Rectangle MouseDown在WPF中抛出Parent Canvas MouseDown事件

时间:2017-08-06 04:16:11

标签: c# wpf mouseevent

我在画布上有一个矩形:

<Canvas x:Name="CanvasMain" MouseDown="Canvas_OnMouseDown" Width="595" Height="842" Background="White" HorizontalAlignment="Center">
        <Rectangle Fill="Tomato" MouseDown="Rectangle_OnMouseDown" Height="335" Canvas.Left="145" Stroke="Black" Canvas.Top="225" Width="265"/>
</Canvas>

问题是:当我点击矩形时,会触发矩形MouseDown和画布MouseDown事件。当我点击矩形并在单击矩形外部时使用画布MouseDown时,我只想使用矩形MouseDown

1 个答案:

答案 0 :(得分:1)

由于event bubbling而发生。

  

当元素(例如文本框)没有处理事件时,会发生冒泡,并且事件会“冒泡”到持有它的UI容器中。

您应该在.Handled = true处理程序中为事件设置Rectangle_OnMouseDown