Freigeben über


Xamarin.Forms Formen: Polygon

Die Polygon Klasse wird von der Shape Klasse abgeleitet und kann verwendet werden, um Polygone zu zeichnen, die verbundene Linienreihen bilden, die geschlossene Formen bilden. Informationen zu den Eigenschaften, die die Polygon Klasse von der Shape Klasse erbt, finden Sie unter Xamarin.Forms Shapes.

Polygon definiert die folgenden Eigenschaften:

  • Points, vom Typ PointCollection, das eine Sammlung von Point-Strukturen ist, die die Scheitelpunkte des Polygons beschreiben.
  • FillRule, vom Typ FillRule, der angibt, wie die Innenfüllung der Form bestimmt wird. Der Standardwert dieser Eigenschaft ist FillRule.EvenOdd.

Diese Eigenschaften werden von BindableProperty-Objekten unterstützt, was bedeutet, dass sie Ziele von Datenbindungen sein können und formatiert werden können.

Der PointsCollection-Typ ist eine ObservableCollection des Point-Objekts. Die Point-Struktur definiert die Eigenschaften X und Y vom Typ double, die ein X- und Y-Koordinatenpaar im 2D-Raum darstellen. Daher sollte die Eigenschaft Points auf eine Liste von x-Koordinaten- und y-Koordinatenpaaren gesetzt werden, die die Polygonscheitelpunkte beschreiben und durch ein einzelnes Komma und/oder ein oder mehrere Leerzeichen getrennt sind. Beispielsweise sind sowohl „40,10 70,80“ als auch „40 10, 70 80“ gültig.

Weitere Informationen zur FillRule Enumeration finden Sie unter Xamarin.Forms Shapes: Füllregeln.

Erstellen eines Polygons

Um ein Polygon zu zeichnen, erstellen Sie ein Polygon-Objekt und setzen dessen Points-Eigenschaft auf die Eckpunkte einer Form. Eine Linie wird automatisch gezeichnet, die die ersten und letzten Punkte verbindet. Um das Innere des Polygons zu malen, setzen Sie seine Fill-Eigenschaft auf ein abgeleitetes Brush-Objekt. Um dem Polygon eine Kontur zu geben, setzen Sie seine Stroke-Eigenschaft auf ein Brush-abgeleitetes Objekt. Die Eigenschaft StrokeThickness gibt die Dicke des Polygonumrisses an. Weitere Informationen zu Brush Objekten finden Sie unter Xamarin.Forms Pinsel.

Das folgende XAML-Beispiel zeigt, wie man ein gefülltes Polygon zeichnet:

<Polygon Points="40,10 70,80 10,50"
         Fill="AliceBlue"
         Stroke="Green"
         StrokeThickness="5" />

In diesem Beispiel wird ein ausgefülltes Polygon gezeichnet, das ein Dreieck darstellt:

Gefülltes Polygon

Das folgende XAML-Beispiel zeigt, wie man ein gestricheltes Polygon zeichnet:

<Polygon Points="40,10 70,80 10,50"
         Fill="AliceBlue"
         Stroke="Green"
         StrokeThickness="5"
         StrokeDashArray="1,1"
         StrokeDashOffset="6" />

In diesem Beispiel ist der Umriss des Polygons gestrichelt:

Gestricheltes Polygon

Weitere Informationen zum Zeichnen eines gestrichelten Polygons finden Sie unter Gestrichelte Formen zeichnen.

Das folgende XAML-Beispiel zeigt ein Polygon, das die Standardfüllregel verwendet:

<Polygon Points="0 48, 0 144, 96 150, 100 0, 192 0, 192 96, 50 96, 48 192, 150 200 144 48"
         Fill="Blue"
         Stroke="Red"
         StrokeThickness="3" />

In diesem Beispiel wird das Füllverhalten jedes Polygons anhand der Füllregel EvenOdd bestimmt.

EvenOdd Polygon

Das folgende XAML-Beispiel zeigt ein Polygon, das die Nonzero-Füllregel verwendet:

<Polygon Points="0 48, 0 144, 96 150, 100 0, 192 0, 192 96, 50 96, 48 192, 150 200 144 48"
         Fill="Black"
         FillRule="Nonzero"
         Stroke="Yellow"
         StrokeThickness="3" />

Nonzero-Polygon

In diesem Beispiel wird das Füllverhalten jedes Polygons anhand der Füllregel Nonzero bestimmt.