C# 触摸事件拦截和路由

C# 触摸事件拦截和路由,c#,uwp,maps,touch-event,C#,Uwp,Maps,Touch Event,我有一个MapControl,我在地图的中心显示一个MapIcon,我每秒钟更新一次,然后再更新一次。这个很好用 但是现在,我尝试禁用MapControl的所有手势和触摸事件,但没有成功。我最近一次做到这一点是禁用所有四种交互模式,如PanInteractionMode。但是,如果您尝试用两个手指拖动地图,它仍然会被拖动,这是不可接受的 最重要的是,MapControl位于Pivot控件中,我想将MapControl事件路由到Pivot,这样它也可以检测地图上的滑动手势 我是否梦想太多?当我将以

我有一个MapControl,我在地图的中心显示一个MapIcon,我每秒钟更新一次,然后再更新一次。这个很好用

但是现在,我尝试禁用MapControl的所有手势和触摸事件,但没有成功。我最近一次做到这一点是禁用所有四种交互模式,如PanInteractionMode。但是,如果您尝试用两个手指拖动地图,它仍然会被拖动,这是不可接受的

最重要的是,MapControl位于Pivot控件中,我想将MapControl事件路由到Pivot,这样它也可以检测地图上的滑动手势


我是否梦想太多?

当我将以下四种交互模式设置为禁用时,我无法再与地图交互。我正在使用Windows 10 Creators更新

但是,即使将它们加上
ishitestvisible
设置为
False
MapControl
仍会吞下任何输入。解决方法是覆盖一个透明的
矩形
。这样,在
Pivot
上的滑动将再次工作

<PivotItem Header="PivotItem 0">
    <Grid>
        <Maps:MapControl PanInteractionMode="Disabled"
                         RotateInteractionMode="Disabled"
                         TiltInteractionMode="Disabled"
                         ZoomInteractionMode="Disabled"
                         IsHitTestVisible="False" />
        <Rectangle Fill="Transparent" />
    </Grid>
</PivotItem>