У меня есть следующая проблема:
Когда я получил две маркировки друг в друга:
<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". Но в моей консоли я добираюсь:
Покажите мне
Не показывайте мне
Существует ли способ выключить пузырящиеся события?
(также, "Сначала" должно быть активируемым по щелчку, так удалить, событие там не решает проблему),
Спасибо
У меня нет под рукой документации, но я думаю, что если вы пометите объект MouseButtonEventArgs как Handled, это остановит событие от прохождения вверх по цепочке.
Должно быть так же просто, как
e.Handled = true;
Пожалуйста, кто-нибудь поправьте меня, если я ошибаюсь.