2016-07-26 1 views
0

Je projet ArcGIS de Windows Runtime Esri et mon XAML est comme ceci:Ajouter des contrôles comme Textblock comme ItemSource dans le code C# derrière

<esri:MapView x:Name="MyMapView"> 

<esri:MapView.Overlays> 
    <esri:OverlayItemsControl> 
      <Grid MaxWidth="350"> 
       <TextBlock Text="Details" FontWeight="Bold" Margin="0,0,0,4" /> 
      </Grid> 
     </Border> 
    </esri:OverlayItemsControl> 
</esri:MapView.Overlays> 

</esri:MapView> 

Je veux ajouter ce Overlays et OverlayItemsControl dans le code derrière plutôt que de XAML .

J'ai essayé somethig comme celui-ci dans le code C# derrière:

MapView mapView = new MapView(); 
mapView.Overlays.ItemsSource = new List<object> { new TextBlock() { Text = "Details", Name = "overLay" } }; 
mapView.Overlays.Items.Clear(); 
mapView.Overlays.Items.Add(MyMapView.Overlays.ItemsSource); 

Mais il donne l'erreur. Je ne sais pas exactement ce qui ne va pas ici. Comment ajouter ces contrôles Overlays, Grid, Textblock à partir du code derrière à l'intérieur de ce Esri MapView Comment ajouter les contrôles ?

Répondre

0

Je dessine une zone de texte au point de la carte donnée (mp) à travers le code:

TextBox tbMsg = new TextBox(); 
tbMsg.Width = 250; 
tbMsg.Height = 200; 
tbMsg.Text = "Your Message"; 

tbMsg.GotFocus += Tb_GotFocus; 
tbMsg.Visibility = Visibility.Visible; 


Esri.ArcGISRuntime.Controls.MapView.SetViewOverlayAnchor(tbMsg, mp); 
MyMapView.Overlays.Items.Add(tbMsg); 
+0

Où est la question. – Gammer

+0

Vous ne pouvez pas ajouter directement via le contrôle de carte Esri. –