2010-11-28 24 views
1

Voici le code XAML que j'ai pour une mise en œuvre liée à la météo de Bing Maps Silverlight.Cartes Bing Maps (Silverlight) - Spécification du canevas pour être au premier plan via XAML

Voici ce que je suis en train de faire:

  1. ont une carte bing avec plusieurs (plus de 100) pushpins- sur mouseover - montrent une contentpopup (toile = MyPopup) ci-dessous. Assez simple.
  2. Tout fonctionne bien - cependant, lorsque mypopup s'affiche au survol de la souris, il n'est pas au premier plan (les autres broches apparaissent au-dessus du contenu), ce qui le rend peu lisible.

Question:

Comment puis-je spécifier la toile de MyPopup spécifiée dans XAML ci-dessous pour apparaître toujours au premier plan, à savoir la plus haut du contrôle de silverlight Bing Maps lorsqu'un utilisateur qu'il voit sur mouseover.

Merci!


<Grid x:Name="LayoutRoot" Background="White"> 
    <m:Map x:Name="GlobalMap" Mode="Road" Center="15,7" ZoomLevel="2" CredentialsProvider="{StaticResource MyCredentials}" Margin="-70,-40,-100,-72"> 

     <m:MapLayer x:Name="myLayer"> 
      <Canvas x:Name="myPopup" Visibility="Collapsed" Opacity="1"> 
       <Rectangle x:Name="myPopupRectangle" Fill="White" Canvas.Left="0" Canvas.Top="0" Height="100" 
          Width="100" RadiusX="15" RadiusY="15"/> 
       <StackPanel Canvas.Left="8" Canvas.Top="8"> 
        <TextBlock x:Name="myPopupTexts" FontSize="5" Width="100"> 
        </TextBlock> 

       </StackPanel> 
      </Canvas> 
     </m:MapLayer> 
    </m:Map> 
</Grid> 

Répondre

0

j'ai fait quelque chose de semblable à cela, mais a pris une approche différente. Ce que j'ai fait était de créer un modèle de punaise personnalisée et de créer un PopUp dans le modèle.

Lorsque l'utilisateur passe la souris sur la punaise, la fenêtre contextuelle s'affiche. Utiliser le PopUp résoudra votre problème, puisque le contrôle le positionnera automatiquement par-dessus tout. Essayez d'envelopper le canevas dans un fichier PopPup et voyez si cela fonctionne.

HTH

+0

Merci pour votre réponse. Le popup pushpin personnalisé ne peut pas gérer les balises html (que je montre comme faisant partie du canevas) .. donc cette option ne fonctionnera pas pour mes besoins. J'espère qu'il y aura une propriété sur la toile qui s'affichera toujours au premier plan/au premier plan (en plus de tout le reste). – Simba

1

Essayez d'ajouter Canvas.ZIndex au MapLayer élément, lui donner une grande valeur comme 200 ou ajoutez vos Punaises à un autre MapLayer (plutôt que d'ajouter les broches directement à la carte) qui apparaît devant cette couche contextuelle dans l'ordre du document.