Пример #1
0
        private CategoryTreeNode createNode(string key, object node)
        {
            var    keys = key.Split(';');
            string name = keys[0];
            Uri    icon = null;

            if (keys.Length > 1)
            {
                icon = new Uri("/Assets/Categories/" + keys[1], UriKind.Relative);
            }

            if (node is CategoryTree)
            {
                CategoryTree root = node as CategoryTree;
                return(new CategoryTreeInnerNode
                {
                    Name = name,
                    Icon = icon,
                    Children = root.Select(x => createNode(x.Key, x.Value)).ToList()
                });
            }
            else
            {
                return(new CategoryTreeLeaf
                {
                    Name = name,
                    Icon = icon,
                    RouteSelector = node as RouteSelector
                });
            }
        }