使用XAML停止事件冒泡

时间:2016-09-09 10:52:29

标签: wpf xaml uwp windows-10-universal uwp-xaml

我的Grid里面有Button。该按钮附有Flyout菜单。

我实现了一个操作,当点击/点击按钮时会打开弹出菜单。这是默认行为,不需要事件写入。当点击/点击网格时,我也实施了一个动作。

问题是当我点击/点击按钮时,我不希望网格做出反应。基于this fine read,这一切都有道理,但在我的情况下,我没有任何代码可以添加e.Handled = true;行。

有什么方法可以阻止事件仅使用XAML冒泡树吗?谢谢!

2 个答案:

答案 0 :(得分:1)

虽然我讨厌挖走古斯多的观点。有一个构建的枚举属性可以处理这类称为ClickMode的情况,您可以覆盖Button Release的默认模式,并将其设置为ClickMode="Press"获得所需的效果,并允许它在任何父项之前单独接收HitTestVisibility。

希望这会有所帮助,欢呼。

答案 1 :(得分:0)

我相信你需要编写一些代码,但不是你想要避免使用的代码。

  1. 创建一个附加行为,订阅并处理 冒泡活动。
  2. 将行为附加到所需的元素 事件冒泡停止。
  3. 有一篇关于将行为插入UWP应用https://blogs.windows.com/buildingapps/2015/11/30/xaml-behaviors-open-source-and-on-uwp/

    的微软文章