ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / Map Class / RemoveLayers Method
An enumerable of layers
Example

In This Topic
    RemoveLayers Method (Map)
    In This Topic
    Removes the specified layers from the map. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public void RemoveLayers( 
       IEnumerable<Layer> layers
    )
    Public Sub RemoveLayers( _
       ByVal layers As IEnumerable(Of Layer) _
    ) 

    Parameters

    layers
    An enumerable of layers
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Removes all layers that are unchecked
    var map = MapView.Active.Map;
    if (map == null)
      return;
    //Get the group layers first
    IReadOnlyList<GroupLayer> groupLayers = map.Layers.OfType<GroupLayer>().ToList();
    //Iterate and remove the layers within the group layers that are unchecked.
    foreach (var groupLayer in groupLayers)
    {
      //Get layers that not visible within the group
      var layers = groupLayer.Layers.Where(l => l.IsVisible == false).ToList();
      //Remove all the layers that are not visible within the group
      await QueuedTask.Run(() => map.RemoveLayers(layers));
    }
    
    //Group Layers that are empty and are unchecked
    foreach (var group in groupLayers)
    {
      if (group.Layers.Count == 0 && group.IsVisible == false) //No layers in the group
      {
        //remove the group
        await QueuedTask.Run(() => map.RemoveLayer(group));
      }
    }
    
    //Get Layers that are NOT Group layers and are unchecked
    var notAGroupAndUnCheckedLayers = map.Layers.Where(l => !(l is GroupLayer) && l.IsVisible == false).ToList();
    //Remove all the non group layers that are not visible
    await QueuedTask.Run(() => map.RemoveLayers(notAGroupAndUnCheckedLayers));
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also