2016-09-09 2 views
1

У меня есть Grid с Button внутри. На кнопке установлено Flyout.Стоп-событие пузырится с использованием XAML

Я реализовал действие, которое открывает меню вылета, когда кнопка нажата/нажата. Это поведение по умолчанию, которое не требует записи событий. Я также выполнил действие, когда сетка нажата/нажата.

Проблема в том, что я не хочу, чтобы сетка реагировала, когда я нажимаю/нажимаю кнопку. Основываясь на this fine read, все имеет смысл, но в моем случае у меня нет никакого кода для добавления строки e.Handled = true;.

Есть ли способ остановить событие, пузырящийся по дереву, используя только XAML? Благодаря!

+1

Положите 'ClickMode =" Нажмите '' на 'Button', так как по умолчанию это« Release », так что Grid также не получает событие, я не думаю, что здесь есть необходимость в каких-либо прикрепленных действиях и т. Д. ;) –

+0

Это лучшее решение, чем предлагалось Гусдором ниже. @ChrisW. пожалуйста, скопируйте свой комментарий в качестве ответа, чтобы я мог его принять. Благодарю. – Boris

+0

Достаточно честный, 1 сек. –

ответ

1

В то время как я ненавижу сварить точки Gusdor в. Существует встроенное свойство перечисления для работы с такими типами ситуаций, которые называются ClickMode, которые вы можете переопределить по умолчанию для Button из Release и установить его в экземпляре как ClickMode="Press", чтобы получить желаемый эффект и позволить ему получать HitTestVisibility индивидуально перед любым родителем делает.

Надеюсь, это поможет, ура.

0

Я считаю, что вам нужно будет написать код, но не код, который вы пытаетесь избежать.

  1. Создайте прикрепленное поведение, которое подписывается и обрабатывает событие пузырьков .
  2. Прикрепите поведение к элементу, в котором вы хотите событие, препятствующее событию.

Существует изделие для Microsoft о подключении Поведения в UWP приложений https://blogs.windows.com/buildingapps/2015/11/30/xaml-behaviors-open-source-and-on-uwp/

+0

Гудзор, спасибо огромное! – Boris

Смежные вопросы