void gl_MouseLeftButtonDownCompleted(object sender, GraphicMouseButtonEventArgs e)
{
Graphic clickedGraphic = e.Graphic;
if (clickedGraphic != null)
{
DZInfoWindow.Anchor = clickedGraphic.Geometry.Extent.GetCenter();
DZInfoWindow.IsOpen = true;
//Since a ContentTemplate is defined, Content will define the DataContext for the ContentTemplate
DZInfoWindow.Content = clickedGraphic.Attributes;
myMap.PanTo(clickedGraphic.Geometry);
}
e.Handled = true;
return;
}
private void myMap_MouseClick(object sender, Map.MouseEventArgs e)
{
DZInfoWindow.IsOpen = false;
}
esri:map中有graphiclayer图层。点击graphiclayer中的graphic后,会触发graphiclayer的mousebuttondown事件,打开Infowindow。如果不设置e.handled=true。那么还会触发map中的mouseclick事件,导致infowindow打开后又关闭,设置了e.handled=true后,在graphicmousebuttondown后,事件就终结了,不会触发mapmouseclick事件。实现类似百度的打开、关闭信息窗口效果。