允许点击和点击进入

时间:2015-10-23 13:12:19

标签: c# .net xaml windows-store-apps win-universal-app

Grid超过Button(他们都直接在另一个网格上,但Grid是"以上")。我需要订阅Grid中的某些活动,但仍然可以点击Button。我将Background的{​​{1}}设置为Grid,以使其引发事件,但Transparent无法点击。有没有办法离开Button,但是点击也可以转到下一个元素?

1 个答案:

答案 0 :(得分:2)

我先看看你是否可以把按钮放在网格上方。你可以在XAML中移动它 - XAML中的元素声明越往下,z顺序越高。

如果你肯定不能这样做,你可以覆盖UI元素MouseUp或MouseDown方法并控制处理属性的设置,以允许树中的后续元素获取点击。

如果您只想将此限制为特定控件,则可以检查" OriginalSource" property(因为所有这些事件args都继承自RoutedEventArgs)以查看点击源是什么并采取相应行动:

protected override void OnMouseDown(MouseButtonEventArgs e)
{
    var grid = e.OriginalSource as Grid;
    if (grid != null && grid.Tag = "yourgridname") e.Handled = false;
}