void AddLayerItem(TileMapTreeViewItem parent, Layer layer) { TileMapTreeViewItem item = new TileMapTreeViewItem { id = layer.id, displayName = layer.name, layer = layer }; parent.AddChild(item); if (layer is GroupLayer) { GroupLayer group = layer as GroupLayer; for (int i = group.layers.Count - 1; i >= 0; i--) { AddLayerItem(item, group.layers[i] as Layer); } } }