我有一个MapControl,并在地图中心显示了一个MapIcon,我每秒更新一次并再次居中。这很好用。

但是现在,我试图禁用MapControl的所有手势和触摸事件,但均未成功。我最接近完成此操作的操作是禁用所有四个InteractionMode(如PanInteractionMode)。但是,如果尝试用两根手指拖动地图,它仍然会被拖动,这是不可接受的。

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

我做梦太多了吗?

最佳答案

将以下四种交互模式设置为Disabled时,将无法再与地图进行交互。我正在使用Windows 10 Creators Update。

但是即使使用它们并将IsHitTestVisible设置为FalseMapControl仍会吞噬任何输入。解决方法是覆盖透明的Rectangle。这样,在Pivot上滑动即可再次起作用。

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

08-06 19:45