我在画布上有一个矩形:
<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
。
答案 0 :(得分:1)
由于event bubbling而发生。
当元素(例如文本框)没有处理事件时,会发生冒泡,并且事件会“冒泡”到持有它的UI容器中。
您应该在.Handled = true
处理程序中为事件设置Rectangle_OnMouseDown
。