ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / MapViewMouseButtonEventArgs Class
Members Example

In This Topic
    MapViewMouseButtonEventArgs Class
    In This Topic
    Provides data for map view mouse button related events.
    Syntax
    Public Class MapViewMouseButtonEventArgs 
       Inherits System.Windows.Input.MouseButtonEventArgs
    public class MapViewMouseButtonEventArgs : System.Windows.Input.MouseButtonEventArgs 
    Example
    Translates a point in map coordinates to a point in page coordinates
    {
      //Note: Must be on QueuedTask.Run
      var pointSymbol = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.BlackRGB, 8);
      //Convert the clicked point in client coordinates to the corresponding map coordinates.
      //clicked point can be from a Map Tool's HandleMouseDownAsync callback.
      //MapViewMouseButtonEventArgs ClientPoint property.
      Point clickedPoint;
      var clickedMapPoint = MapView.Active.ClientToMap(clickedPoint);
      ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(string.Format("X: {0} Y: {1} Z: {2}",
          mapPoint.X, mapPoint.Y, mapPoint.Z), "Map Coordinates");
      //Get the corresponding layout point
      var pointOnLayoutFrame = mapFrame.MapToPage(mapPoint);
    
      //Create a point graphic on the Layout.
      var cimGraphicElement = new CIMPointGraphic
      {
        Location = pointOnLayoutFrame,
        Symbol = pointSymbol.MakeSymbolReference()
      };
      //Or use GraphicFactory
      var cimGraphicElement2 = GraphicFactory.Instance.CreateSimpleGraphic(
              pointOnLayoutFrame, pointSymbol);
    
      ElementFactory.Instance.CreateGraphicElement(layout, cimGraphicElement);
      ElementFactory.Instance.CreateGraphicElement(layout, cimGraphicElement2);
    }
    Create a tool to the return coordinates of the point clicked in the map
    internal class GetMapCoordinates : MapTool
    {
      protected override void OnToolMouseDown(MapViewMouseButtonEventArgs e)
      {
        if (e.ChangedButton == System.Windows.Input.MouseButton.Left)
          e.Handled = true; //Handle the event args to get the call to the corresponding async method
      }
    
      protected override Task HandleMouseDownAsync(MapViewMouseButtonEventArgs e)
      {
        return QueuedTask.Run(() =>
        {
          //Convert the clicked point in client coordinates to the corresponding map coordinates.
          var mapPoint = MapView.Active.ClientToMap(e.ClientPoint);
          ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(string.Format("X: {0} Y: {1} Z: {2}",
                      mapPoint.X, mapPoint.Y, mapPoint.Z), "Map Coordinates");
        });
      }
    }
    Inheritance Hierarchy

    System.Object
       System.EventArgs
          System.Windows.RoutedEventArgs
             System.Windows.Input.InputEventArgs
                System.Windows.Input.MouseEventArgs
                   System.Windows.Input.MouseButtonEventArgs
                      ArcGIS.Desktop.Mapping.MapViewMouseButtonEventArgs

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also