Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }