/// <summary> /// 初始化树数据 /// </summary> public void LoadTreeData() { this.BeginUpdate(); this.Nodes.Clear(); TmpltFolderXmlElement sdsiteDoc = Service.Sdsite.CurrentDocument.TmpltFolder; foreach (var node in sdsiteDoc.ChildNodes) { if (node is FolderXmlElement) { FolderElementNode FolderNode = new FolderElementNode(node as FolderXmlElement); SetElementNode(FolderNode); AddTmpltFolder(node as FolderXmlElement); } else if (node is TmpltSimpleExXmlElement) { TmpltElementNode tmpltNode = new TmpltElementNode(node as TmpltSimpleExXmlElement); if ((TmpltFilter == TmpltTreeNodeType.none) || TmpltFilter == tmpltNode.CurrentNodeType) { SetElementNode(tmpltNode); AddRootNodeToTree(tmpltNode); } } } this.EndUpdate(); this.ContextMenuStrip = TmpltTreeContextMenuStrip.CreateForTreeView(this); }
private void sdsite_ElementAdded(object sender, EventArgs <SimpleExIndexXmlElement> e) { if (e.Item is TmpltSimpleExXmlElement) //如果添加的是单个模板,则直接添加 { TmpltElementNode tmpltNode = new TmpltElementNode(e.Item as TmpltSimpleExXmlElement); if ((TmpltFilter == TmpltTreeNodeType.none) || TmpltFilter == tmpltNode.CurrentNodeType) { SetElementNode(tmpltNode); AddRootNodeToTree(tmpltNode); } } else if (e.Item is FolderXmlElement) //添加整个文件夹(里面可能包括模板) { FolderElementNode folderNode = new FolderElementNode(e.Item as FolderXmlElement); SetElementNode(folderNode); //增加了模板过滤 如果和当前过滤选择不一样,则不显示 AddTmpltFolder(e.Item as FolderXmlElement); } //else if() 参数 SimpleExIndexXmlElement 并不能包含添加的 页面片和PART 现在只做模板 //{ //} }
private void AddTmpltFolder(FolderXmlElement Folder) { foreach (var node in Folder.ChildNodes) { if (node is FolderXmlElement) { //有可能要加其ID 如果该文件夹有模板,并且删除该文件夹,要根据这个删模板树的内容 FolderElementNode FolderNode = new FolderElementNode(node as FolderXmlElement); SetElementNode(FolderNode); AddTmpltFolder(node as FolderXmlElement); } else if (node is TmpltSimpleExXmlElement) { TmpltElementNode tmpltNode = new TmpltElementNode(node as TmpltSimpleExXmlElement); if ((TmpltFilter == TmpltTreeNodeType.none) || TmpltFilter == tmpltNode.CurrentNodeType) { SetElementNode(tmpltNode); AddRootNodeToTree(tmpltNode); } } } }