Beispiel #1
0
        /// <summary>
        /// Adds the layer to DgvSelection if its not a MapGroup. Otherwise the EventHandlers get attached and the groups children get added to DgvSelection.
        /// </summary>
        /// <param name="addedLayer">Layer, that should be added to DGV_Selection.</param>
        private void AddLayer(ILayer addedLayer)
        {
            if (addedLayer == null)
            {
                return;
            }

            var grp = addedLayer as IMapGroup;

            if (grp != null)
            {
                // handle layerAdded event separately for groups because map.layerAdded event doesn't fire for groups.
                grp.LayerAdded   += MapLayerAdded;
                grp.LayerRemoved += MapLayerRemoved;
                foreach (IMapLayer layer in grp.Layers)
                {
                    AddLayer(layer);
                }
            }
            else
            {
                _dgvSelection.AddLayer(addedLayer);
            }
        }