protected virtual rMindVerticalLine CreateVerticalLine() { var line = new rMindVerticalLine(this); bool first = m_horizontal_lines.Count == 0 && m_vertical_lines.Count == 0; if (!first) { Template.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto, MinWidth = 24, }); foreach (var l in HLines) { foreach (var node in l.RightNodes) { node.Column += 1; } } } m_vertical_lines.Add(line); return(line); }
protected virtual void RemoveVerticalLine(rMindVerticalLine line) { var removeNodes = line.TopNodes.Union(line.BottomNodes).ToList(); var colIdx = GetLineIndex(line); RemoveNodes(removeNodes); // Собираем узлы ниже OffsetNodes(false, colIdx); if (Template.ColumnDefinitions.Count > 1) { Template.ColumnDefinitions.Remove( Template.ColumnDefinitions.Last() ); } VLines.Remove(line); }