我有像这样的椭圆画布:
<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
开火。
是否有任何简单的方法可以让它按我的意愿运作?
答案 0 :(得分: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");
}