

Public Class LegendInfo Inherits MapSurroundInfo
public class LegendInfo : MapSurroundInfo
{
//Create a legend for an associated map frame.
//Note: Must be on QueuedTask.Run
//Build 2D envelope geometry
Coordinate2D leg_ll = new Coordinate2D(6, 2.5);
Coordinate2D leg_ur = new Coordinate2D(8, 4.5);
Envelope leg_env = EnvelopeBuilderEx.CreateEnvelope(leg_ll, leg_ur);
//Reference MF, create legend and add to layout
mapFrame = layout.FindElement("New Map Frame") as MapFrame;
if (mapFrame == null)
{
//TODO handle null map frame
return;
}
var legendInfo = new LegendInfo()
{
MapFrameName = mapFrame.Name
};
Legend legendElm = ElementFactory.Instance.CreateMapSurroundElement(
layout, leg_env, legendInfo, "New Legend") as Legend;
}
{
//Note: Must be on QueuedTask.Run
//Build geometry
Coordinate2D ll = new Coordinate2D(6, 2.5);
Coordinate2D ur = new Coordinate2D(8, 4.5);
Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
//Reference MF, create legend and add to layout
MapFrame mf = layout.FindElement("Map Frame") as MapFrame;
var surroundInfo = new LegendInfo()
{
MapFrameName = mf.Name
};
var legendElm = ElementFactory.Instance.CreateMapSurroundElement(
layout, env.Center, surroundInfo) as Legend;
legendElm.SetName("New Legend");
}
System.Object
ArcGIS.Desktop.Layouts.MapSurroundInfo
ArcGIS.Desktop.Layouts.LegendInfo
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)