Condividi tramite


Procedura: creare un oggetto LineSegment in un oggetto PathGeometry

In questo esempio viene illustrato come creare un segmento di linea. Per creare un segmento di linea, utilizzare le classi PathGeometry, PathFigure e LineSegment.

Esempio

Negli esempi riportati di seguito viene disegnato un oggetto LineSegment da (10, 50) a (200, 70). Nella figura seguente viene illustrato l'oggetto LineSegment risultante. È stato aggiunto uno sfondo a griglia per visualizzare il sistema di coordinate.

Oggetto LineSegment disegnato da (10,50) a (200,700)

LineSegment in PathFigure

[xaml]

In Extensible Application Markup Language (XAML), è possibile utilizzare la sintassi di attributo per descrivere un percorso.

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

[xaml]

Si noti che la sintassi di attributo crea in effetti un oggetto StreamGeometry, una versione più semplice di un oggetto PathGeometry. Per ulteriori informazioni, vedere la pagina Sintassi di markup del percorso.

In XAML, è possibile disegnare un segmento di linea anche utilizzando la sintassi di elemento oggetto. L'esempio seguente equivale all'esempio di XAML precedente.

            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>

Questo esempio è stato estratto da un esempio più ampio; per la versione completa, vedere Esempio di geometrie (la pagina potrebbe essere in inglese).

Vedere anche

Riferimenti

PathFigure

PathGeometry

GeometryDrawing

Path

Concetti

Cenni preliminari sulle classi Geometry