/// <summary> /// Clears this instance. /// </summary> public void Clear() { Interlocked.Exchange(ref _initTimeInSeconds, -1); _marbleDiagrams.Clear(); Diagrams.Clear(); FlatItems.Clear(); DiagramWidth = RESET_WIDTH; }
internal void RedrawDiagrams() { if (!_firstLoad) { Diagrams.Clear(); _firstLoad = true; RaisePropertyChanged(nameof(Diagrams)); } }
private void DrawDiagrams() // Построение и отрисовка диаграм { Diagrams.Clear(); var Xdiagrams = SelectedTask .Element("diagrams"); if (Xdiagrams == null) { ButtonDiagramsVisibility = Visibility.Collapsed; return; } var diagrams = Xdiagrams. Descendants("diagram") .Select(i => new { x = int.Parse(i.Element("x").Attribute("column").Value), y = int.Parse(i.Element("y").Attribute("column").Value), }) .ToArray(); foreach (var diagram in diagrams) { if (diagram.x > DataTable.First().Count || diagram.y > DataTable.First().Count || diagram.x < 0 || diagram.y < 0) { throw new XMLValidationException("Diagram value is bigger than length if the table or less than 0"); } StackPanel spA = ParseToStackPanel(DataTable[0][diagram.x].Text); StackPanel spB = ParseToStackPanel(DataTable[0][diagram.y].Text); Diagram d = new Diagram(diagram.x, diagram.y, spA, spB); Diagrams.Add(d); } ButtonDiagramsVisibility = Diagrams.Count > 0 ? Visibility.Visible : Visibility.Collapsed; UpdateDiagrams(); }