コード例 #1
0
 /// <summary>
 /// Clears this instance.
 /// </summary>
 public void Clear()
 {
     Interlocked.Exchange(ref _initTimeInSeconds, -1);
     _marbleDiagrams.Clear();
     Diagrams.Clear();
     FlatItems.Clear();
     DiagramWidth = RESET_WIDTH;
 }
コード例 #2
0
 internal void RedrawDiagrams()
 {
     if (!_firstLoad)
     {
         Diagrams.Clear();
         _firstLoad = true;
         RaisePropertyChanged(nameof(Diagrams));
     }
 }
コード例 #3
0
        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();
        }