//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}"); } });
//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())); });
//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); });
//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, Windows 8.1