Udostępnij za pośrednictwem


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, typu PointCollection, który jest kolekcją Point struktur opisujących punkty wierzchołka wielolinii.
  • FillRule, typu FillRule, 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 to FillRule.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 ObservableCollectionPoint . 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 Brushobiekt -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ść PolylineBrushobiektu -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:

Linia łamana

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:

Kreskowana wieloliniowa

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.

Parzysta wieloliniowa

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" />

Niezerowa wielolinia

W tym przykładzie zachowanie wypełnienia wielolinii jest określane przy użyciu Nonzero reguły wypełnienia.