Thank you for your help.Here is my code that retrieves the geometry of the selected object and then returns the data in a datagrid. But I can't accumulate the result of the selected graphics. Is it possible to join the geometry? Or there another easier way?In advance thank you.Fabien
private void QueryDataAfterSelectGraphicLayer(ESRI.ArcGIS.Client.Geometry.Geometry geometry)
{
QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0");
queryTask.Failed += QueryTask_Failed;
Binding resultFeaturesBinding = new Binding("LastResult.Features");
resultFeaturesBinding.Source = queryTask;
MyDataGridSelection.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding);
Query query = new ESRI.ArcGIS.Client.Tasks.Query();
query.OutFields.Add("*");
query.Geometry = geometry;
query.ReturnGeometry = true;
query.OutSpatialReference = Map.SpatialReference;
queryTask.ExecuteAsync(query);
}
private void FeatureLayer_MouseLeftButtonDown(object sender, GraphicMouseButtonEventArgs args)
{
args.Graphic.Selected = !args.Graphic.Selected;
Envelope env = new Envelope();
GraphicsLayer selectionGraphicslayer = Map.Layers["MySelectionGraphicsLayer"] as GraphicsLayer;
foreach (Graphic item in selectionGraphicslayer.Graphics)
{
if (item.Selected == true)
{
ESRI.ArcGIS.Client.Geometry.Geometry geometry = item.Geometry;
QueryDataAfterSelectGraphicLayer(geometry);
}
}
}