Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Ошибка, при создании point в Polygon


Автор: IUMag 8.4.2013, 14:38

Код

List<Point> Points =  new List<Point>();
LayoutRoot.Children.Add(new Polygon() {
Points.Add(endingPoint),
Stroke = System.Windows.Media.Brushes.Black,
Fill = System.Windows.Media.Brushes.LightSeaGreen,
StrokeThickness = 2,
HorizontalAlignment = HorizontalAlignment.Left,
VerticalAlignment = VerticalAlignment.Center,

Вылазит ошибка на 3 строчке. "Неверное объявление инициализатора члена"
Как ее можно исправить, работаю в WPF
Благодарю!

Автор: IUMag 8.4.2013, 15:09
Код

   Polygon myPolygon = new Polygon();
        private void Canvas_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) {
            startingPoint = e.GetPosition(LayoutRoot);
            myPolygon.Stroke = System.Windows.Media.Brushes.Black;
            myPolygon.Fill = System.Windows.Media.Brushes.LightSeaGreen;
            myPolygon.StrokeThickness = 2;
            myPolygon.HorizontalAlignment = HorizontalAlignment.Left;
            myPolygon.VerticalAlignment = VerticalAlignment.Center;
            System.Windows.Point Point1 = new System.Windows.Point(startingPoint.X, startingPoint.Y);
            PointCollection myPointCollection = new PointCollection();
            myPointCollection.Add(Point1);
            myPolygon.Points = myPointCollection;
            LayoutRoot.Children.Add(myPolygon);
        }

Попробовал вот так, теперь выдает ошибку такую:
"Указанный элемент Visual уже является дочерним по отношению к другому элементу Visual или корневому элементу CompositionTarget".

Автор: IUMag 9.4.2013, 09:35
Код

 private Point points;


        Polygon myPolygon = new Polygon();
        private void Canvas_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) {
            points = e.GetPosition(LayoutRoot);
            Polygon myPolygon = new Polygon();
            myPolygon.Stroke = Brushes.Black;
            myPolygon.Fill = Brushes.LightSeaGreen;
            myPolygon.StrokeThickness = 2;
            myPolygon.HorizontalAlignment = HorizontalAlignment.Left;
            myPolygon.VerticalAlignment = VerticalAlignment.Center;
            System.Windows.Point Point1 = new System.Windows.Point(points.X, points.Y);
            System.Windows.Point Point2 = new System.Windows.Point(points.X, points.Y);
            PointCollection myPointCollection = new PointCollection();
            myPointCollection.Add(Point1);
            myPointCollection.Add(Point2);
            myPolygon.Points = myPointCollection;
            LayoutRoot.Children.Add(myPolygon);
        }


Вот, вроде работает. Но как мне теперь эти точки соединить?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)