Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

disable event-bubbling c# wpf

I'm having the following problem:

When I got two labels into each other:

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

And the following code:

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");
}

When i click "Second", I want it to trigger only "Label_MouseUp_1". But in my console i get:

Show me
Do NOT show me

Is there a way to turn off the bubbling events?

(also, "First" has to be clickable, so removing the event there doesn't solve the problem)

Thnx

like image 898
Ruben Avatar asked Mar 23 '10 07:03

Ruben


1 Answers

I don't have the docs right in front of me, but I think if you mark the MouseButtonEventArgs object as Handled it stops the event from going up the chain.

Should be as simple as

e.Handled = true;

Please somebody correct me if I am wrong about this.

like image 68
Navaar Avatar answered Sep 27 '22 18:09

Navaar