/// <summary> /// Конструктор. Содержит начальные настройки. /// </summary> public MainWindow() { InitializeComponent(); RectangleGrid rg = new RectangleGrid(); grid.Children.Add(rg); rg.SetValue(Grid.ZIndexProperty, -1); rectangle_lines = new RectangleLines(); grid.Children.Add(rectangle_lines); rectangle_lines.SetValue(Grid.ZIndexProperty, 100); rectangle_lines.InvalidateVisual(); polygons = new Polygons(new ObservableCollection<PolygonShell>()); grid.Children.Add(polygons); polygons.SetValue(Grid.ZIndexProperty, 0); #region Тестовые многоугольники. !!Потом удалить. PolygonShell polygon = new PolygonShell(); polygon.Pole.Copy = new Point2d { X = 150, Y = 50 }; //polygon.Add(new Point { X = 0, Y = 0 }); //polygon.Add(new Point { X = 100, Y = 0 }); //polygon.Add(new Point { X = 100, Y = 100 }); //polygons.List.Add(polygon); //polygon = new PolygonShell(); //polygon.Pole.Copy = new Point { X = 400, Y = 30 }; polygon.Add(new Point2d { X = 0, Y = 0 }); polygon.Add(new Point2d { X = 100, Y = 100 }); polygon.Add(new Point2d { X = 0, Y = 100 }); polygons.List.Add(polygon); polygon = new PolygonShell(); polygon.Pole.Copy = new Point2d { X = 400, Y = 80 }; polygon.Add(new Point2d { X = 0, Y = 0 }); polygon.Add(new Point2d { X = 100, Y = 0 }); polygon.Add(new Point2d { X = 100, Y = 100 }); polygons.List.Add(polygon); #endregion list_view.ItemsSource = polygons.List; }
/// <summary> /// Запускается при созданиии многоугольника. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddPolygon_Click(object sender, RoutedEventArgs e) { PolygonShell polygon = new PolygonShell(); polygons.List.Add(polygon); }