Udostępnij za pośrednictwem


Xamarin.Forms Kształty: ścieżka

Klasa Path pochodzi z Shape klasy i może służyć do rysowania krzywych i złożonych kształtów. Te krzywe i kształty są często opisywane przy użyciu Geometry obiektów. Aby uzyskać informacje na temat właściwości Path dziedziczynych przez klasę Shape z klasy, zobacz Xamarin.Forms Kształty.

Path definiuje następujące właściwości:

  • Data, typu Geometry, który określa kształt do narysowania.
  • RenderTransform, typu Transform, który reprezentuje transformację zastosowaną do geometrii ścieżki przed jej narysem.

Te właściwości są wspierane przez BindableProperty obiekty, co oznacza, że mogą być obiektami docelowymi powiązań danych i stylizowanymi.

Aby uzyskać więcej informacji na temat przekształceń, zobacz Xamarin.Forms Przekształcanie ścieżek.

Tworzenie ścieżki

Aby narysować ścieżkę Path , utwórz obiekt i ustaw jego Data właściwość. Istnieją dwie techniki ustawiania Data właściwości:

  • Wartość ciągu Data można ustawić w języku XAML przy użyciu składni znaczników ścieżki. W przypadku tego podejścia Path.Data wartość zużywa format serializacji grafiki. Zazwyczaj nie można edytować tej wartości ciągu ręcznie po jej utworzeniu. Zamiast tego używasz narzędzi projektowych do manipulowania danymi i eksportowania ich jako fragmentu ciągu, który jest używany przez Data właściwość .
  • Właściwość można ustawić Data na Geometry obiekt. Może to być konkretny Geometry obiekt lub GeometryGroup obiekt, który działa jako kontener, który może łączyć wiele obiektów geometrycznych w jeden obiekt.

Tworzenie ścieżki ze składnią znaczników ścieżki

W poniższym przykładzie XAML pokazano, jak narysować trójkąt przy użyciu składni znaczników ścieżki:

<Path Data="M 10,100 L 100,100 100,50Z"
      Stroke="Black"
      Aspect="Uniform"
      HorizontalOptions="Start" />

Ciąg Data rozpoczyna się od polecenia move wskazanego przez Melement , który ustanawia bezwzględny punkt początkowy dla ścieżki. L to polecenie wiersza, które tworzy wiersz prosty od punktu początkowego do określonego punktu końcowego. Z to zamknij polecenie, które tworzy wiersz, który łączy bieżący punkt z punktem początkowym. Wynik jest trójkątem:

Trójkąt ścieżki

Aby uzyskać więcej informacji na temat składni znaczników ścieżki, zobacz Xamarin.Forms Składnia znaczników ścieżki.

Tworzenie ścieżki z obiektami Geometry

Krzywe i kształty można opisać za pomocą Geometry obiektów, które są używane do ustawiania Path właściwości obiektu Data . Istnieje wiele Geometry obiektów do wyboru. Klasy EllipseGeometry, LineGeometryi RectangleGeometry opisują stosunkowo proste kształty. Aby utworzyć bardziej złożone kształty lub utworzyć krzywe, użyj elementu PathGeometry.

PathGeometry obiekty składają się z co najmniej jednego PathFigure obiektu. Każdy PathFigure obiekt reprezentuje inny kształt. Każdy PathFigure obiekt składa się z co najmniej jednego PathSegment obiektu reprezentującego część połączenia kształtu. Typy segmentów obejmują następujące LineSegmentklasy , BezierSegmenti ArcSegment .

W poniższym przykładzie XAML pokazano, jak narysować trójkąt przy użyciu PathGeometry obiektu:

<Path Stroke="Black"
      Aspect="Uniform"
      HorizontalOptions="Start">
    <Path.Data>
        <PathGeometry>
            <PathGeometry.Figures>
                <PathFigureCollection>
                    <PathFigure IsClosed="True"
                                StartPoint="10,100">
                        <PathFigure.Segments>
                            <PathSegmentCollection>
                                <LineSegment Point="100,100" />
                                <LineSegment Point="100,50" />
                            </PathSegmentCollection>
                        </PathFigure.Segments>
                    </PathFigure>
                </PathFigureCollection>
            </PathGeometry.Figures>
        </PathGeometry>
    </Path.Data>
</Path>

W tym przykładzie punkt początkowy trójkąta to (10 1000). Segment liniowy jest pobierany z (10 1000) do (100 100) i z (100 100) do (100 50). Następnie liczby najpierw i ostatnie segmenty są połączone, ponieważ właściwość jest ustawiona PathFigure.IsClosed na truewartość . Wynik jest trójkątem:

Trójkąt ścieżki

Aby uzyskać więcej informacji na temat geometrii, zobacz Xamarin.Forms Geometrie.