2017-10-13 6 views
0

J'ai ajouté des éléments XAML à mon MapControl selon le official docs.Comment puis-je empêcher la disparition des éléments XAML lorsque leurs centres quittent les limites de la carte?

Cependant, lorsque le centre de l'élément quitte les limites de la carte, il ne dessine plus, donc lorsqu'il est agrandi, les objets volumineux disparaissent lorsque le centre n'est plus visible. Dans mon cas, je trace un cercle de zone d'intérêt autour d'un point, mais lorsque vous zoomez sur le niveau de la rue, le centre quitte souvent la carte et le cercle disparaît.

Comment puis-je m'assurer que le XAML continue à dessiner quand il est encore partiellement sur l'écran et pas seulement le point central?

Répondre

1

Je compris le problème particulier - dans mon cas l'élément XAML je joins était contenue au niveau supérieur dans un contrôle Canvas qui avait un ActualWidth et ActualHeight de zéro. Il est probable que l'écrêtage se produise avec la carte basée sur le conteneur parent, de sorte que les marges négatives et les contrôles de canevas peuvent provoquer une disparition prématurée du contenu.

J'ai refaçonné le XAML de sorte que le niveau supérieur était un Grid et contenait entièrement les éléments enfants et la carte a fonctionné comme prévu.

0

Je ne pense pas qu'il existe un moyen de le faire. XAML attaché n'est pas conçu pour dessiner des cercles sur le sol comme ceci - il est plus destiné à attacher des choses comme une boîte d'information à une punaise où vous avez besoin de boîtes d'entrée XAML ou quelque chose de plus qu'une image statique. Pour un cercle au sol, il est recommandé d'utiliser un MapPolygon: https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.Maps.MapPolygon Cela fonctionnera également correctement dans toutes les projections et vues, tandis que le XAML attaché ne le fera pas (si vous inclinez ou faites pivoter la carte, passez de Mercator au globe, etc les limites de la façon dont vous avez dessiné le polygone XAML se déplaceront par rapport au sol).