internal void AddDescendingControl(ContentControl control) { descendingControls.Add(control); if (TemplateDocument != null && TemplateDocument.AllContentControls.Contains(control) == false) { TemplateDocument.AddControl(control, false); } }
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); }
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>(); }
public void Remove() { TemplateDocument?.RemoveControl(this); SdtElement.Remove(); }
public ContentControl(SdtElement sdtElement, TemplateDocument templateDocument = null) : this(sdtElement, sdtElement.IsDescendantOfAContentControl(), templateDocument) { }