/// <summary> /// Abstract base class for all markdown elements with one child element. /// </summary> /// <param name="Document">Markdown document.</param> /// <param name="Child">Child element.</param> public MarkdownElementSingleChild(MarkdownDocument Document, MarkdownElement Child) : base(Document) { NestedBlock NestedBlock = Child as NestedBlock; if (NestedBlock != null && NestedBlock.HasOneChild) { this.child = NestedBlock.FirstChild; } else { this.child = Child; } }
public static TreeGridItem ToTreeGridItem(this NestedBlock nested) { //TreeGridItem item = nested.Definition.ToTreeGridItem(); TreeGridItem item = new TreeGridItem { Tag = nested, Values = nested.Definition.ToValues() }; foreach (var nestedBlock in nested) { item.Children.Add(nestedBlock.ToTreeGridItem()); } return(item); }
private NestedBlock[] TryGetParentSelectedNestedBlocks() { if (_tv_parent.SelectedItem is null) { return(null); } int selCount = _tv_parent.SelectedItems.Count(); NestedBlock[] nested = new NestedBlock[selCount]; var selected = _tv_parent.SelectedItems.ToArray(); for (int i = 0; i < selCount; i++) { nested[i] = ((TreeGridItem)selected[i]).ToNestedBlock(); } return(nested); }