Condividi tramite


Procedura: Creare un LineSegment in un PathGeometry

In questo esempio viene illustrato come creare un segmento di linea. Per creare un segmento di linea, usare le classi PathGeometry, PathFiguree LineSegment.

Esempio

Negli esempi seguenti viene disegnato un LineSegment da (10, 50) a (200, 70). Nella figura seguente viene illustrato il LineSegmentrisultante; è stato aggiunto uno sfondo della griglia per mostrare il sistema di coordinate.

un oggetto LineSegment in un oggetto PathFigure un LineSegment tratto da (10,50) a (200,70)

In XAML (Extensible Application Markup Language) puoi usare la sintassi degli attributi per descrivere un percorso.

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

Si noti che questa sintassi di attributo crea effettivamente un StreamGeometry, una versione più leggera di un PathGeometry. Per altre informazioni, vedere la pagina Sintassi di markup del percorso .

In XAML puoi anche disegnare un segmento di linea usando la sintassi dell'elemento oggetto. Il seguente è equivalente all'esempio XAML precedente.

<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

Questo esempio fa parte di un campione più ampio; per l'esempio completo, vedere l'esempio di geometrie .

Vedere anche