Subscribe Method (LayoutEvent)
Parameters
- action
- The delegate that gets executed when the event is published.
- keepSubscriberAlive
- When
false
the CompositePresentationEvent will maintain a weak delegate reference to the subscriber. Using a weak delegate reference relieves the subscriber from the need to unsubscribe to enable proper garbage collection. The default is false
.
Return Value
A
SubscriptionToken that uniquely identifies the added subscription.
LayoutEvent_PropertyChanged
//Report the event args when a layout is changed.
//At 2.x - ArcGIS.Desktop.Layouts.Events.LayoutChangedEvent.Subscribe((args) =>
//{
// System.Windows.MessageBox.Show("LayoutChangedEvent:" +
// Environment.NewLine +
// " arg Layout: " + args.Layout.Name);
//});
ArcGIS.Desktop.Layouts.Events.LayoutEvent.Subscribe((args) =>
{
var layout = args.Layout;
if (args.Hint == LayoutEventHint.PropertyChanged)
{
System.Diagnostics.Debug.WriteLine($"Layout PropertyChanged: {layout.Name}");
}
});
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}");
}
});
LayoutEvent_PageChanged
//Report the event args when a layout page properties are changed.
//At 2.x - ArcGIS.Desktop.Layouts.Events.PageChangedEvent.Subscribe((args) =>
//{
// System.Windows.MessageBox.Show("PageChangedEvent:" +
// Environment.NewLine +
// " arg Layout: " + args.Layout.Name +
// Environment.NewLine +
// " arg New CIMPage (height): " + args.NewPage.Height.ToString() +
// Environment.NewLine +
// " arg Old CIMPage (height): " + args.OldPage.Height.ToString());
//});
ArcGIS.Desktop.Layouts.Events.LayoutEvent.Subscribe((args) =>
{
var layout = args.Layout;
if (args.Hint == LayoutEventHint.PageChanged)
{
var cimPage = args.OldPage;
System.Diagnostics.Debug.WriteLine($"LayoutEvent {args.Hint.ToString()}: {layout.Name}");
}
});
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.