2010-03-23 120 views
10

我有以下问题:禁用事件冒泡C#WPF

当我有两个标签相互转化:

<Label x:Name="First" MouseUp="Label_MouseUp"> 
    <Label x:Name="Second" MouseUp="Label_MouseUp_1">This is a label into another label</Label> 
</Label> 

以下代码:

private void Label_MouseUp(object sender, MouseButtonEventArgs e) 
{ 
    Console.WriteLine("Do NOT show me"); 
} 

private void Label_MouseUp_1(object sender, MouseButtonEventArgs e) 
{ 
    Console.WriteLine("Show me"); 
} 

当我点击“第二”,我希望它只触发“Label_MouseUp_1”。但是,在我的控制台我得到:

告诉我
不显示我

有没有办法关闭冒泡事件?

(也,“第一”必须点击,以便消除该事件有没有解决的问题)

日Thnx

回答

25

我没有文档就在我的面前,但是我认为如果您将MouseButtonEventArgs对象标记为“处理”,它会阻止事件发生。

应尽可能简单

e.Handled = true; 

请别人纠正我,如果我错了这一点。

+0

这是一个快速anwser :) 我要去尝试一次。 非常感谢 – Ruben 2010-03-23 07:59:49

+0

这工作完美。谢谢 – Ruben 2010-03-23 08:12:13

+0

很棒的答案,圣诞快乐! – 2014-12-26 02:15:46