/// <summary> /// 添加listbox的子 /// </summary> /// <param name="listBoxPart"></param> /// <param name="styleEle"></param> private void AddListBoxPartChildrenParts(ListBoxPart listBoxPart, StyleXmlElement styleEle) { SnipPartsXmlElement partsEle = styleEle.GetPartsElement(); listBoxPart.ChildParts.Clear(); GetParts(listBoxPart.ChildParts, partsEle, listBoxPart.Designer); }
/// <summary> /// 递归实现 矩形向Xml 节点的转换 /// </summary> /// <param name="parentEle"></param> /// <param name="rect"></param> void AddRectToXml(XmlElement parentEle, RectTreeNode rect) { Rect resultRect = DrawPanel.ListRect.SnipRectList.Find( new FindRectByLayerRect(rect.RectLayer).PredicateEqualRect); if (resultRect != null) { //由一个矩形(SnipRect)生成一个XmlElement节点 SnipRect srect = (SnipRect)resultRect; SnipXmlElement snipXmlEle = (SnipXmlElement)TmpltDoc.CreateElement("snip");//CreateSnip(srect.SnipID); SnipPartsXmlElement partsEle = (SnipPartsXmlElement)TmpltDoc.CreateElement("parts"); snipXmlEle.AppendChild(partsEle); snipXmlEle.Id = srect.SnipID; snipXmlEle.SnipName = srect.SnipName; snipXmlEle.Title = srect.Title; snipXmlEle.Css = srect.ToCss; snipXmlEle.HasSnip = srect.HasSnip; snipXmlEle.SnipType = srect.SnipType; if (srect.SnipType == PageSnipType.Content) { TmpltDoc.HasContentSnip = true; } else { TmpltDoc.HasContentSnip = false; } snipXmlEle.X = srect.X; snipXmlEle.Y = srect.Y; snipXmlEle.Width = srect.Width.ToString() + "px"; snipXmlEle.Height = srect.Height.ToString() + "px"; snipXmlEle.IsLocked = srect.IsLocked; rect.Element = snipXmlEle; } else { SnipRectXmlElement rectEle = (SnipRectXmlElement)TmpltDoc.CreateElement("rect"); rectEle.Css = rect.RectLayer.Css; rectEle.IsRow = !rect.RectLayer.IsRow; rect.Element = rectEle; //如果有孩子,则继续遍历 if (rect.RectLayer.ChildRects != null) { foreach (RectLayer childRect in rect.RectLayer.ChildRects) { AddRectToXml(rect.Element, new RectTreeNode(childRect, null)); } } } parentEle.AppendChild(rect.Element); }