2010-03-23 127 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