powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как записать массив точек, использую Polygon
12 сообщений из 12, страница 1 из 1
Как записать массив точек, использую Polygon
    #38214192
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точки создаются после нажатия мыши по Window. Но как мне их занести в массив и использовать в дальнейшем?
Благодарю!
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38214444
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторmyPolygon.Points.Add(endingPoint );

автор myPolygon.Points.Add(endingPoint);
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,
});


Но почему, когда я создаю Polygon вот так, то у меня вылазит ошибка в этой строчке:
авторPoints.Add(endingPoint),
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38214526
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GermanL,

Судя по выбрасываемым этим методом исключениям вы либо передаете в Add null, либо Points только для чтения, либо Points имеет фиксированный размер.
http://msdn.microsoft.com/en-us/library/system.windows.media.pointcollection.add.aspx

Скорее всего вы просто не можете добавлять точки в полигон после его создания.
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38214753
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как можно разрешить эту проблему?
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38215837
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не знает?
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38216096
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторList<Point> Points = new List<Point>();
Вот, дописал это. Но осталась одна ошибка. Неверное объявление инициализатора члена
Кто знает, как с ней бороться?
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38217593
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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".
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38218312
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор 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);
}

Вот, вроде работает. Но как мне теперь эти точки соединить?
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38218544
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GermanL,

Вы создаете по одному полигону на каждое нажатие, а полигон нужно создавать уже после того как точки расставлены.
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38218852
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как создать массив точек, а потом эти точки использовать?

Попробовал при нажатии на Window создать точки, а при нажатии по кнопке, чтоб уже все чертилось, но создается одна точка и все.
Уже запутался. (
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38220408
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GermanL,

Проблема в том, что вы используете одну точку:
Код: c#
1.
private Point points;


А вам нужен список точек:
Код: c#
1.
private List<Point> points;


Который будет заполняться по мере добавления точек и по которому затем будет отрисован полигон.
Полигон, кстати, у вас тоже на каждое нажатие создается. А должен — по завершению расстановки точек.
...
Рейтинг: 0 / 0
Как записать массив точек, использую Polygon
    #38220582
GermanL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже пробовал, но не пишет

авторНеявное преобразование типа "System.Windows.Point" в "System.Collections.Generic.List<System.Windows.Point>"

автор"System.Collections.Generic.List<System.Windows.Point>" не содержит определения для "X" и не был найден метод расширения "X", принимающий тип "System.Collections.Generic.List<System.Windows.Point>" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как записать массив точек, использую Polygon
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]