2017-07-05 5 views
2

J'ai un MapControl et je montre un MapIcon au centre de la carte, que je mets à jour chaque seconde et de nouveau au centre. Cela fonctionne bien. Mais maintenant, j'essaie de désactiver tous les gestes et les événements tactiles pour le MapControl sans succès. Le plus proche que j'ai été d'accomplir cela est de désactiver tous les quatre InteractionModes comme PanInteractionMode. Mais si vous essayez de faire glisser la carte avec deux doigts, elle est toujours traînée et ce n'est pas acceptable. En plus de cela, MapControl est dans un contrôle Pivot et je voudrais router les événements MapControl vers le Pivot afin qu'il puisse également détecter les mouvements de balayage sur la carte.Interception et routage des événements tactiles

Est-ce que je rêve trop?

Répondre

3

Lorsque je définis les quatre modes d'interaction suivants sur Disabled, je ne peux plus interagir avec la carte. Je suis sur Windows 10 Creators Update.

Mais même avec eux plus le réglage IsHitTestVisible à False, le MapControl avalerait toujours n'importe quelle entrée. La solution de contournement consiste à superposer un transparentRectangle. De cette façon, le balayage sur Pivot fonctionnera à nouveau.

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

Génial, merci! Cela a fait l'affaire. – Adrian