Ejemplo n.º 1
0
 internal void AddDescendingControl(ContentControl control)
 {
     descendingControls.Add(control);
     if (TemplateDocument != null && TemplateDocument.AllContentControls.Contains(control) == false)
     {
         TemplateDocument.AddControl(control, false);
     }
 }
Ejemplo n.º 2
0
        public ContentControl Clone()
        {
            if (!(SdtElement.CloneNode(true) is SdtElement clonedElement))
            {
                return(null);
            }

            SdtElement.InsertBeforeSelf(clonedElement);
            var cloned = new ContentControl(clonedElement, IsDescendantOfAContentControl, TemplateDocument);

            TemplateDocument.AddControl(cloned, IsFirstOrder);
            cloned.GenerateDescendantsFromChildren();
            cloned.Parent = Parent;
            return(cloned);
        }
Ejemplo n.º 3
0
        public ContentControl(SdtElement sdtElement, bool isDescendantOfAContentControl,
                              TemplateDocument templateDocument)
        {
            if (sdtElement.IsContentControl() == false)
            {
                throw new ArgumentException("The provided SdtElement is not a content control", nameof(sdtElement));
            }

            TemplateDocument = templateDocument;

            SdtElement = sdtElement;
            IsDescendantOfAContentControl = isDescendantOfAContentControl;
            Tag  = sdtElement.GetContentControlTag();
            Type = sdtElement.GetContentControlType();
            descendingControls = new List <ContentControl>();
        }
Ejemplo n.º 4
0
 public void Remove()
 {
     TemplateDocument?.RemoveControl(this);
     SdtElement.Remove();
 }
Ejemplo n.º 5
0
 public ContentControl(SdtElement sdtElement, TemplateDocument templateDocument = null) : this(sdtElement,
                                                                                               sdtElement.IsDescendantOfAContentControl(), templateDocument)
 {
 }