Arcgis pro SDK 事件订阅
1.TOCSelectionChangedEvent.Subscribe(SelectedLayersChanged)
在 ArcGIS Pro 的 TOC(Table Of Contents,目录树)中选择不同的图层会触发此事件。
//创建Event的处理方法
private void SelectedLayersChanged() {
// TODO: 处理图层变化事件
}
//取消订阅事件
TOCSelectionChangedEvent.Unsubscribe(SelectedLayersChanged);
2.MapSelectionChangedEvent.Subscribe(OnSelectionChangedAsync)
在MapViewe中的图层,选中不同要素的时候会触发此事件。
private void OnSelectionChangedAsync(MapSelectionChangedEventArgs obj)
{
if (obj.Map != MapView.Active.Map) return;
}
//取消订阅事件
MapSelectionChangedEvent.Unsubscribe(OnSelectionChangedAsync);
3.ActiveMapViewChangedEvent.Subscribe(OnActiveMapViewChanged)
在 ArcGIS Pro 中,当用户切换到不同的地图视图时,就会触发此事件。
// 创建Event的处理方法
private void OnActiveMapViewChanged() {
// 获取当前活动的地图视图
MapView mapView = MapView.Active;
if (mapView != null) {
// TODO: 处理地图视图变化事件
} }
除此之外,还有以下订阅事件:
-
LayersAddedEvent.Subscribe(OnLayersAdded)是将事件处理程序OnLayersAdded关联到图层添加事件LayersAddedEvent上。当用户向地图添加一个或多个图层时,就会触发该事件。在事件处理程序中可以实现对新添加的图层进行一些初始化操作等。 -
LayersRemovedEvent.Subscribe(OnLayersRemoved)是将事件处理程序OnLayersRemoved关联到图层删除事件LayersRemovedEvent上。当用户从地图中删除一个或多个图层时,就会触发该事件。在事件处理程序中可以实现对删除的图层进行一些清理操作等。 -
ActiveToolChangedEvent.Subscribe(OnActiveToolChanged)是将事件处理程序OnActiveToolChanged关联到活动工具变化事件ActiveToolChangedEvent上。当用户在 ArcGIS Pro 中切换不同的工具时,就会触发该事件。在事件处理程序中可以根据不同的工具状态来执行不同的操作等。 -
MapRemovedEvent.Subscribe(OnMapRemoved)是将事件处理程序OnMapRemoved关联到地图删除事件MapRemovedEvent上。当用户从项目中删除一个地图时,就会触发该事件。在事件处理程序中可以实现对已删除地图相关资源(如图层数据、元素等)进行清理操作等。

浙公网安备 33010602011771号