отключите распространение событий 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");
}

Когда я нажимаю "Second", я хочу, чтобы он инициировал только "Label_MouseUp_1". Но в моей консоли я добираюсь:

Покажите мне
Не показывайте мне

Существует ли способ выключить пузырящиеся события?

(также, "Сначала" должно быть активируемым по щелчку, так удалить, событие там не решает проблему),

Спасибо

10
задан Whitewall 2 May 2012 в 04:04
поделиться

1 ответ

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

Должно быть так же просто, как

e.Handled = true;

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

24
ответ дан 3 December 2019 в 16:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: