Xamarin.Forms Kształty: wieloliniowa
Klasa Polyline
pochodzi z Shape
klasy i może służyć do rysowania serii połączonych linii prostych. Wielokąt jest podobny do wielokąta, z wyjątkiem ostatniego punktu w wielolinii nie jest połączony z pierwszym punktem. Aby uzyskać informacje na temat właściwości Polyline
dziedziczynych przez klasę Shape
z klasy, zobacz Xamarin.Forms Kształty.
Polyline
definiuje następujące właściwości:
Points
, typuPointCollection
, który jest kolekcjąPoint
struktur opisujących punkty wierzchołka wielolinii.FillRule
, typuFillRule
, który określa, w jaki sposób połączone są obszary przecinające się w polilinii. Wartość domyślna tej właściwości toFillRule.EvenOdd
.
Te właściwości są wspierane przez BindableProperty
obiekty, co oznacza, że mogą być obiektami docelowymi powiązań danych i stylizowanymi.
Typ PointsCollection
jest obiektem ObservableCollection
Point
. Struktura Point
definiuje X
i Y
właściwości typu double
, które reprezentują parę współrzędnych x i y w przestrzeni 2D. Points
W związku z tym właściwość powinna być ustawiona na listę par współrzędnych x i współrzędnych y, które opisują punkty wierzchołków wieloliniowych rozdzielone przecinkami i/lub co najmniej jedną spację. Na przykład wartości "40 10 70 80" i "40 10, 70 80" są prawidłowe.
Aby uzyskać więcej informacji na temat FillRule
wyliczenia, zobacz Xamarin.Forms Kształty: reguły wypełniania.
Tworzenie linii wieloliniowej
Aby narysować wielolinię Polyline
, utwórz obiekt i ustaw jego Points
właściwość na wierzchołki kształtu. Aby nadać kontur wieloliniowy, ustaw jego Stroke
właściwość na Brush
obiekt -pochodny. Właściwość StrokeThickness
określa grubość konturu wieloliniowego. Aby uzyskać więcej informacji na temat Brush
obiektów, zobacz Xamarin.Forms Szczotki.
Ważne
Jeśli ustawisz Fill
właściwość Polyline
Brush
obiektu -pochodnego, przestrzeń wewnętrzna poliliny jest malowana, nawet jeśli punkt początkowy i punkt końcowy nie przecinają się.
W poniższym przykładzie XAML pokazano, jak narysować wielolinię:
<Polyline Points="0,0 10,30, 15,0 18,60 23,30 35,30 40,0 43,60 48,30 100,30"
Stroke="Red" />
W tym przykładzie rysowana jest czerwona wielolinia:
W poniższym przykładzie XAML pokazano, jak narysować kreskowaną wielolinię:
<Polyline Points="0,0 10,30, 15,0 18,60 23,30 35,30 40,0 43,60 48,30 100,30"
Stroke="Red"
StrokeThickness="2"
StrokeDashArray="1,1"
StrokeDashOffset="6" />
W tym przykładzie linia wieloliniowa jest przerywana:
Aby uzyskać więcej informacji na temat rysowania kreskowanej wielolinii, zobacz Rysowanie kształtów przerywanych.
Poniższy przykład XAML przedstawia wielolinię, która używa domyślnej reguły wypełnienia:
<Polyline 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" />
W tym przykładzie zachowanie wypełnienia wielolinii jest określane przy użyciu EvenOdd
reguły wypełnienia.
W poniższym przykładzie XAML pokazano wielolinię Nonzero
, która używa reguły wypełnienia:
<Polyline 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" />
W tym przykładzie zachowanie wypełnienia wielolinii jest określane przy użyciu Nonzero
reguły wypełnienia.