Как создать LineSegment в PathGeometry
В этом примере демонстрируется создание отрезка прямой. Чтобы создать отрезок прямой, используйте классы PathGeometry, PathFigure и LineSegment.
Пример
В следующем примере выполняется рисование отрезка прямой LineSegment от (10, 50) до (200, 70). На следующей иллюстрации демонстрируется получившийся отрезок прямой LineSegment; для представления системы координат добавлена фоновая сетка.
LineSegment чертится от (10,50) до (200,700)
[xaml]
В Extensible Application Markup Language (XAML) можно использовать синтаксис атрибута для описания пути.
<Path Stroke="Black" StrokeThickness="1"
Data="M 10,50 L 200,70" />
[xaml]
(Обратите внимание, что этот синтаксис атрибута фактически создает StreamGeometry, облегченную версию PathGeometry. Дополнительные сведения см. на странице Синтаксис разметки пути.
В XAML можно также начертить отрезок с использованием синтаксиса элемента объекта. Ниже приведен эквивалент предыдущего примера XAML.
Dim myPathFigure As New PathFigure()
myPathFigure.StartPoint = New Point(10, 50)
Dim myLineSegment As New LineSegment()
myLineSegment.Point = New Point(200, 70)
Dim myPathSegmentCollection As New PathSegmentCollection()
myPathSegmentCollection.Add(myLineSegment)
myPathFigure.Segments = myPathSegmentCollection
Dim myPathFigureCollection As New PathFigureCollection()
myPathFigureCollection.Add(myPathFigure)
Dim myPathGeometry As New PathGeometry()
myPathGeometry.Figures = myPathFigureCollection
Dim myPath As New Path()
myPath.Stroke = Brushes.Black
myPath.StrokeThickness = 1
myPath.Data = myPathGeometry
PathFigure myPathFigure = new PathFigure();
myPathFigure.StartPoint = new Point(10, 50);
LineSegment myLineSegment = new LineSegment();
myLineSegment.Point = new Point(200, 70);
PathSegmentCollection myPathSegmentCollection = new PathSegmentCollection();
myPathSegmentCollection.Add(myLineSegment);
myPathFigure.Segments = myPathSegmentCollection;
PathFigureCollection myPathFigureCollection = new PathFigureCollection();
myPathFigureCollection.Add(myPathFigure);
PathGeometry myPathGeometry = new PathGeometry();
myPathGeometry.Figures = myPathFigureCollection;
Path myPath = new Path();
myPath.Stroke = Brushes.Black;
myPath.StrokeThickness = 1;
myPath.Data = myPathGeometry;
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="10,50">
<LineSegment Point="200,70" />
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
Этот пример является фрагментом большего примера; полный пример см. на веб-странице Geometries Sample.