Compartilhar via


Como criar um LineSegment em um PathGeometry

Este exemplo mostra como criar um segmento de linha. Para criar um segmento de linha, use as PathGeometryclasses , PathFiguree LineSegment .

Exemplo

Os exemplos a seguir desenham um LineSegment de (10, 50) a (200, 70). A ilustração a seguir mostra o resultado LineSegment: um fundo de grade foi adicionado para mostrar o sistema de coordenadas.

A LineSegment in a PathFigure Um LineSegment desenhado de (10,50) a (200,70)

Em XAML (Extensible Application Markup Language), você pode usar a sintaxe de atributo para descrever um caminho.

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

(Observe que essa sintaxe de atributo realmente cria um , uma versão mais leve de um StreamGeometryPathGeometry. Para obter mais informações, consulte a página Sintaxe de marcação de caminho.)

Em XAML, você também pode desenhar um segmento de linha usando a sintaxe do elemento de objeto. O exemplo a seguir é equivalente ao exemplo XAML anterior.

<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

Este exemplo faz parte de um exemplo maior; para ver o exemplo completo, confira o Exemplo de geometrias.

Confira também