Поделиться через


Как создать LineSegment в PathGeometry

В этом примере показано, как создать сегмент линии. Чтобы создать сегмент линии, используйте классы PathGeometry, PathFigure и LineSegment.

Пример

В следующем примере нарисован LineSegment от (10, 50) до (200, 70). На следующем рисунке показан итоговый LineSegment; для отображения системы координат добавлена фоновая сетка.

A LineSegment in a PathFigure СтрокаSegment, полученная от (10 50) до (200 70)

В языке XAML можно использовать синтаксис атрибута для описания пути.

<Path Stroke="Black" StrokeThickness="1"
  Data="M 10,50 L 200,70" />

(Обратите внимание, что этот синтаксис атрибута фактически создает StreamGeometryупрощенную версию PathGeometry. Дополнительные сведения см. на странице Синтаксис разметки пути.)

В XAML сегмент линии можно также начертить с использованием синтаксиса элемента объекта. Следующий пример эквивалентен предыдущему примеру XAML.

<Path Stroke="Black" StrokeThickness="1">
  <Path.Data>
    <PathGeometry>
      <PathFigure StartPoint="10,50">
        <LineSegment Point="200,70" />
      </PathFigure>
    </PathGeometry>
  </Path.Data>
</Path>
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;
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

Этот пример является частью большего примера; полный пример см. в разделе Пример геометрических объектов.

См. также