MapSeries Property (Layout)
Gets the map series associated with a layout.
Public ReadOnly Property MapSeries As MapSeries
LayoutEvent_MapSeries
//Report the event args when the map series properties have changed.
//At 2.x - ArcGIS.Desktop.Layouts.Events.MapSeriesEvent.Subscribe((args) =>
//{
// System.Windows.MessageBox.Show("MapSeriesEvent:" +
// Environment.NewLine +
// " arg CurrentPageName: " + args.CurrentPageName.ToString() +
// Environment.NewLine +
// " arg CurrentlPageNumber: " + args.CurrentPageNumber.ToString() +
// Environment.NewLine +
// " arg Layout: " + args.Layout.Name +
// Environment.NewLine +
// " arg Type: " + args.Type.ToString());
//});
ArcGIS.Desktop.Layouts.Events.LayoutEvent.Subscribe((args) =>
{
var layout = args.Layout;
if (args.Hint == LayoutEventHint.MapSeriesRefreshed ||
args.Hint == LayoutEventHint.MapSeriesPageChanged)
{
var ms = layout.MapSeries;
System.Diagnostics.Debug.WriteLine($"LayoutEvent {args.Hint.ToString()}: {layout.Name}");
}
});
MapSeries_FindPageNumber
//Return the page number that corresponds to the page name field for an index feature
Layout layout = LayoutView.Active.Layout;
//Perform on the worker thread
await QueuedTask.Run(() =>
{
SpatialMapSeries SMS = layout.MapSeries as SpatialMapSeries;
Row msRow = SMS.CurrentRow;
System.Windows.MessageBox.Show(SMS.FindPageNumber(msRow.GetOriginalValue(msRow.FindField("NAME")).ToString()));
});
MapSeries_GetSetDefinition
//Get and modify a map series CIM definition and set the changes back to the layout
//Perform on the worker thread
await QueuedTask.Run(() =>
{
MapSeries MS = layout.MapSeries as MapSeries;
CIMMapSeries CIM_MS = MS.GetDefinition();
CIM_MS.Enabled = false;
MS.SetDefinition(CIM_MS);
layout.SetMapSeries(MS);
});
MapSeries_SetCurrentPageNumber
//Set the current page to match a specific page number
//Perform on the worker thread
await QueuedTask.Run(() =>
{
MapSeries MS = layout.MapSeries as MapSeries;
MS.SetCurrentPageNumber("IV");
});
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.