private void AddPointToList(GrafPoint point) { for (int i = 0; i < GrafPoints.Count; i++) { if (point.X == GrafPoints[i].X && point.Y == GrafPoints[i].Y) { return; } } GrafPoints.Add(point); /// Добавление экземрляра GrafPoint в общий список }
// Отрисовка одной точки public void Draw(GrafPoint point, int size = 4) { Ellipse grafEllipseElement = new Ellipse() { Fill = GrayColorBrush, Width = size, Height = size }; grafEllipseElement.MouseEnter += GrafEllipseElement_MouseEnter; grafEllipseElement.MouseLeave += (object sender, MouseEventArgs e) => { PositionBox.Visibility = Visibility.Hidden; }; Canvas.SetLeft(grafEllipseElement, point.X - size / 2 + xOffset); Canvas.SetBottom(grafEllipseElement, point.Y - size / 2 + yOffset); AddPointToList(point); DrawArea.Children.Add(grafEllipseElement); /// Добавление экземрляра Ellipse на канвас }