disable event-bubbling c# wpf

我们两清 提交于 2019-11-30 02:52:10

问题


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


回答1:


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.



来源:https://stackoverflow.com/questions/2498305/disable-event-bubbling-c-sharp-wpf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!