2017-08-06 99 views
0

我有一个长方形在画布上:矩形的MouseDown抛父帆布MouseDown事件在WPF

<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

它发生是由于event bubbling

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

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