private void RemoveLayer(ILayer layer)
        {
            if (layer == null)
            {
                return;
            }

            var grp = layer as IMapGroup;

            if (grp != null)
            {
                // handle layerRemoved event separately for groups because map.layerRemoved event doesn't fire for groups.
                grp.LayerAdded   -= MapLayerAdded;
                grp.LayerRemoved -= MapLayerRemoved;

                foreach (IMapLayer l in grp.Layers)
                {
                    RemoveLayer(l);
                }
            }
            else
            {
                _dgvSelection.RemoveLayer(layer);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Removes the layer, that was removed from map from the DGV_Selection.
 /// </summary>
 /// <param name="sender">Sender that raised the event.</param>
 /// <param name="e">The event args.</param>
 private void MapLayerRemoved(object sender, LayerEventArgs e)
 {
     _dgvSelection.RemoveLayer(e.Layer);
 }