Procedura: creare un oggetto LineSegment in un oggetto PathGeometry

Questo esempio illustra come creare un segmento di linea. Per creare un segmento di linea, usare le PathGeometryclassi , PathFiguree LineSegment .

Esempio

Gli esempi seguenti estraggono da LineSegment (10, 50) a (200, 70). La figura seguente mostra l'oggetto risultante LineSegment. È stato aggiunto uno sfondo della griglia per mostrare il sistema di coordinate.

A LineSegment in a PathFigure LineaSegment disegnata 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 una StreamGeometryversione più leggera di un oggetto 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. Di seguito è 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 esempio più esaustivo. Per l'esempio completo, vedere la pagina Geometries Sample (esempio di geometrie).

Vedi anche