|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
Точки создаются после нажатия мыши по Window. Но как мне их занести в массив и использовать в дальнейшем? Благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 12:24 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
автор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), ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 14:27 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
GermanL, Судя по выбрасываемым этим методом исключениям вы либо передаете в Add null, либо Points только для чтения, либо Points имеет фиксированный размер. http://msdn.microsoft.com/en-us/library/system.windows.media.pointcollection.add.aspx Скорее всего вы просто не можете добавлять точки в полигон после его создания. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 15:03 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
А как можно разрешить эту проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2013, 16:45 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
Никто не знает? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2013, 10:11 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
авторList<Point> Points = new List<Point>(); Вот, дописал это. Но осталась одна ошибка. Неверное объявление инициализатора члена Кто знает, как с ней бороться? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2013, 14:59 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
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". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2013, 16:51 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
автор 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); } Вот, вроде работает. Но как мне теперь эти точки соединить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2013, 10:36 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
GermanL, Вы создаете по одному полигону на каждое нажатие, а полигон нужно создавать уже после того как точки расставлены. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2013, 12:06 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
Как создать массив точек, а потом эти точки использовать? Попробовал при нажатии на Window создать точки, а при нажатии по кнопке, чтоб уже все чертилось, но создается одна точка и все. Уже запутался. ( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2013, 14:40 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
GermanL, Проблема в том, что вы используете одну точку: Код: c# 1.
А вам нужен список точек: Код: c# 1.
Который будет заполняться по мере добавления точек и по которому затем будет отрисован полигон. Полигон, кстати, у вас тоже на каждое нажатие создается. А должен — по завершению расстановки точек. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 14:34 |
|
Как записать массив точек, использую Polygon
|
|||
---|---|---|---|
#18+
Уже пробовал, но не пишет авторНеявное преобразование типа "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 или ссылка на сборку) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2013, 15:49 |
|
|
start [/forum/topic.php?fid=21&fpage=31&tid=1441428]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 143ms |
0 / 0 |