2017-08-06 39 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