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 上。当用户从项目中删除一个地图时,就会触发该事件。在事件处理程序中可以实现对已删除地图相关资源(如图层数据、元素等)进行清理操作等。

posted @ 2023-06-19 16:49  NeXT、  阅读(146)  评论(0)    收藏  举报