отключить всплывающее событие c # wpf - PullRequest
10 голосов
/ 23 марта 2010

У меня следующая проблема:

Когда я получил два ярлыка друг на друга:

<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

1 Ответ

24 голосов
/ 23 марта 2010

У меня нет документов прямо передо мной, но я думаю, что если вы пометите объект MouseButtonEventArgs как обработанный, он остановит движение события вверх по цепочке.

Должно быть просто

e.Handled = true;

Пожалуйста, кто-нибудь поправит меня, если я ошибаюсь.

...