0

我有这样的椭圆画布:

<Canvas 
     Name="c1" 
     Background="White" 
     MouseUp="c1_MouseUp">
        <Ellipse 
              Width="138" 
              Height="143" 
              Fill="Chocolate" 
              MouseUp="Ellipse_MouseUp">
        </Ellipse>
</Canvas>

使用这样的事件处理程序:

    private void Ellipse_MouseUp(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("Ellipse click");
    }

    private void c1_MouseUp(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("Canvas click");
    }

当我单击椭圆时,这两个事件都会触发。我只想Ellipse_MouseUp开火。

有什么简单的方法可以让它按我的意愿工作吗?

4

1 回答 1

2

标记你要处理的 e.Handled = True; http://msdn.microsoft.com/en-us/library/system.windows.input.mousebuttoneventargs.aspx

编辑作为一个例子,以下应该工作:

void Ellipse_MouseUp(object sender, MouseButtonEventArgs e)
{
    e.Handled = True;
    MessageBox.Show("Ellipse click");
}
于 2013-07-13T19:20:43.290 回答