private ILayerItem GetGroupLayerItems(IElementGroup group)
        {
            ILayerItemGroup itemGroup = new LayerItemGroup(group.Name ?? string.Empty, group.Name ?? string.Empty);

            (itemGroup as LayerItemGroup).Tag = group;
            itemGroup.IsSelected = group.IsSelected;
            itemGroup.IsVisible  = group.Visible;
            foreach (IElement it in group.Elements)
            {
                if (it is IElementGroup)
                {
                    ILayerItem layer = GetGroupLayerItems(it as IElementGroup);
                    itemGroup.Items.Add(layer);
                }
                else
                {
                    LayerItemLayout item = new LayerItemLayout();
                    item.Name       = it.Name;
                    item.IsVisible  = it.Visible;
                    item.IsSelected = it.IsSelected;
                    item.Tag        = it;
                    if (it.Icon != null)
                    {
                        item.Image = it.Icon;
                    }
                    itemGroup.Items.Add(item);
                }
            }
            return(itemGroup);
        }
 private ILayerItem GetLayerItemLayout(IElement it)
 {
     if (it is ILayerObjectContainer)
     {
         return(GetLayerItemLayout(it as ILayerObjectContainer));
     }
     else if (it is IElementGroup)
     {
         return(GetGroupLayerItems(it as IElementGroup));
     }
     else
     {
         LayerItemLayout item = new LayerItemLayout();
         item.Name       = it.Name;
         item.IsVisible  = it.Visible;
         item.IsSelected = it.IsSelected;
         item.Tag        = it;
         if (it.Icon != null)
         {
             item.Image = it.Icon;
         }
         return(item);
     }
 }