예제 #1
0
        private void InitUserSnippets()
        {
            XmlDocument doc  = new XmlDocument();
            var         path = App.LocalRPAStudioDir + @"\Config\CodeSnippets.xml";

            doc.Load(path);
            var rootNode = doc.DocumentElement;

            var directoryNodes = rootNode.SelectNodes("Directory");

            foreach (XmlNode dir in directoryNodes)
            {
                var dirPath = (dir as XmlElement).GetAttribute("Path");
                var id      = (dir as XmlElement).GetAttribute("Id");

                var userItem = new SnippetTreeItem();
                userItem.IsUserAdd  = true;//标识为用户添加
                userItem.Id         = id;
                userItem.Path       = dirPath;
                userItem.Name       = Path.GetFileName(dirPath);
                userItem.IsExpanded = true;

                SnippetsItems.Add(userItem);

                DirectoryInfo di = new DirectoryInfo(dirPath);
                InitGroup(di, userItem);
            }
        }
예제 #2
0
        private void initSnippets()
        {
            //从文件夹中初始化Snippets,并按文件名排序
            SnippetsItems.Clear();
            DirectoryInfo di = new DirectoryInfo(System.Environment.CurrentDirectory + @"\Snippets");

            InitGroup(di);

            InitUserSnippets();
        }
예제 #3
0
        private void InitGroup(DirectoryInfo di, SnippetTreeItem parent = null)
        {
            //当前目录文件夹遍历
            DirectoryInfo[] dis = di.GetDirectories();
            for (int j = 0; j < dis.Length; j++)
            {
                var item = new SnippetTreeItem();
                item.Path = dis[j].FullName;
                item.Name = dis[j].Name;

                if (parent != null)
                {
                    parent.Children.Add(item);
                }
                else
                {
                    item.IsExpanded = true;//默认展开第一层
                    SnippetsItems.Add(item);
                }

                InitGroup(dis[j], item);
            }

            //当前目录文件遍历
            FileInfo[] fis = di.GetFiles();
            for (int i = 0; i < fis.Length; i++)
            {
                var item = new SnippetTreeItem();
                item.IsSnippet = true;
                item.Path      = fis[i].FullName;
                item.Name      = fis[i].Name;

                if (fis[i].Extension.ToLower() == ".xaml")
                {
                    if (parent != null)
                    {
                        parent.Children.Add(item);
                    }
                    else
                    {
                        SnippetsItems.Add(item);
                    }
                }
            }
        }