Zooms to the selected layer in the Table of Contents (TOC) associated with the active view.
[C#]
///<summary>Zooms to the selected layer in the TOC associated with the active view.</summary>
///
///<param name="mxDocument">An IMxDocument interface</param>
///
///<remarks></remarks>
public void ZoomToActiveLayerInTOC(ESRI.ArcGIS.ArcMapUI.IMxDocument mxDocument)
{
if(mxDocument == null)
{
return;
}
ESRI.ArcGIS.Carto.IActiveView activeView = mxDocument.ActiveView;
// Get the TOC
ESRI.ArcGIS.ArcMapUI.IContentsView IContentsView = mxDocument.CurrentContentsView;
// Get the selected layer
System.Object selectedItem = IContentsView.SelectedItem;
if (!(selectedItem is ESRI.ArcGIS.Carto.ILayer))
{
return;
}
ESRI.ArcGIS.Carto.ILayer layer = selectedItem as ESRI.ArcGIS.Carto.ILayer;
// Zoom to the extent of the layer and refresh the map
activeView.Extent = layer.AreaOfInterest;
activeView.Refresh();
}
[Visual Basic .NET]
'''<summary>Zooms to the selected layer in the TOC associated with the active view.</summary>
'''
'''<param name="mxDocument">An IMxDocument interface</param>
'''
'''<remarks></remarks>
Public Sub ZoomToActiveLayerInTOC(ByVal mxDocument As ESRI.ArcGIS.ArcMapUI.IMxDocument)
If mxDocument Is Nothing Then
Return
End If
' Get the map
Dim activeView As ESRI.ArcGIS.Carto.IActiveView = mxDocument.ActiveView
' Get the TOC
Dim contentsView As ESRI.ArcGIS.ArcMapUI.IContentsView = mxDocument.CurrentContentsView
' Get the selected layer
Dim selectedItem As System.Object = contentsView.SelectedItem
If Not (TypeOf selectedItem Is ESRI.ArcGIS.Carto.ILayer) Then
Return
End If
Dim layer As ESRI.ArcGIS.Carto.ILayer = TryCast(selectedItem, ESRI.ArcGIS.Carto.ILayer) ' Dynamic Cast
' Zoom to the extent of the layer and refresh the map
activeView.Extent = layer.AreaOfInterest
activeView.Refresh()
End Sub