触摸事件拦截和路由
Touch events interception and routing
我有一个 MapControl,我在地图的中心显示了一个 MapIcon,我每秒更新一次并再次居中。这很好用。
但是现在,我试图禁用 MapControl 的所有手势和触摸事件,但没有成功。我最接近完成此操作的是禁用所有四种交互模式,例如 PanInteractionMode。但是如果你尝试用两个手指拖动地图,它仍然被拖动,这是不可接受的。
最重要的是,MapControl 位于 Pivot 控件内,我想将 MapControl 事件路由到 Pivot,这样它也可以检测在地图上滑动手势。
我是不是做梦太多了?
当我将以下四种交互模式设置为Disabled
后,我就无法再与地图进行交互了。我正在 Windows 10 创意者更新。
但即使将它们加上 IsHitTestVisible
设置为 False
,MapControl
仍会吞下任何输入。解决方法是覆盖 透明 Rectangle
。这样 Pivot
上的滑动将再次起作用。
<PivotItem Header="PivotItem 0">
<Grid>
<Maps:MapControl PanInteractionMode="Disabled"
RotateInteractionMode="Disabled"
TiltInteractionMode="Disabled"
ZoomInteractionMode="Disabled"
IsHitTestVisible="False" />
<Rectangle Fill="Transparent" />
</Grid>
</PivotItem>
我有一个 MapControl,我在地图的中心显示了一个 MapIcon,我每秒更新一次并再次居中。这很好用。
但是现在,我试图禁用 MapControl 的所有手势和触摸事件,但没有成功。我最接近完成此操作的是禁用所有四种交互模式,例如 PanInteractionMode。但是如果你尝试用两个手指拖动地图,它仍然被拖动,这是不可接受的。
最重要的是,MapControl 位于 Pivot 控件内,我想将 MapControl 事件路由到 Pivot,这样它也可以检测在地图上滑动手势。
我是不是做梦太多了?
当我将以下四种交互模式设置为Disabled
后,我就无法再与地图进行交互了。我正在 Windows 10 创意者更新。
但即使将它们加上 IsHitTestVisible
设置为 False
,MapControl
仍会吞下任何输入。解决方法是覆盖 透明 Rectangle
。这样 Pivot
上的滑动将再次起作用。
<PivotItem Header="PivotItem 0">
<Grid>
<Maps:MapControl PanInteractionMode="Disabled"
RotateInteractionMode="Disabled"
TiltInteractionMode="Disabled"
ZoomInteractionMode="Disabled"
IsHitTestVisible="False" />
<Rectangle Fill="Transparent" />
</Grid>
</PivotItem>