Caminho

Browse sample. Navegue pelo exemplo

A classe .NET Multi-platform App UI (.NET MAUI) Path deriva da Shape classe e pode ser usada para desenhar curvas e formas complexas. Essas curvas e formas são frequentemente descritas usando Geometry objetos. Para obter informações sobre as propriedades que a Path classe herda da Shape classe, consulte Formas.

Path define as propriedades a seguir:

  • Data, do tipo Geometry, que especifica a forma a ser desenhada.
  • RenderTransform, do tipo Transform, que representa a transformação que é aplicada à geometria de um caminho antes de ele ser desenhado.

Essas propriedades são apoiadas por BindableProperty objetos, o que significa que elas podem ser alvos de associações de dados e estilizadas.

Para obter mais informações sobre transformações, consulte Transformações de caminho.

Criar um caminho

Para desenhar um caminho, crie um Path objeto e defina sua Data propriedade. Existem duas técnicas para definir a Data propriedade:

  • Você pode definir um valor de cadeia de caracteres para Data em XAML, usando a sintaxe de marcação de caminho. Com essa abordagem, o Path.Data valor está consumindo um formato de serialização para elementos gráficos. Normalmente, você não edita esse valor de cadeia de caracteres manualmente depois que ele é criado. Em vez disso, use ferramentas de design para manipular os dados e exportá-los como um fragmento Data de cadeia de caracteres que é consumível pela propriedade.
  • Você pode definir a Data propriedade como um Geometry objeto. Isso pode ser um objeto específico Geometry ou um que atua como um contêiner que pode combinar vários objetos de geometria em um GeometryGroup único objeto.

Criar um caminho com sintaxe de marcação de caminho

O exemplo XAML a seguir mostra como desenhar um triângulo usando a sintaxe de marcação de caminho:

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

A Data cadeia de caracteres começa com o comando move, indicado por M, que estabelece um ponto de partida absoluto para o caminho. L é o comando line, que cria uma linha reta do ponto inicial até o ponto final especificado. Z é o comando close, que cria uma linha que conecta o ponto atual ao ponto inicial. O resultado é um triângulo:

Path triangle.

Para obter mais informações sobre a sintaxe de marcação de caminho, consulte Sintaxe de marcação de caminho.

Criar um caminho com objetos Geometry

Curvas e formas podem ser descritas usando Geometry objetos, que são usados para definir a Path propriedade do Data objeto. Há uma variedade de Geometry objetos para escolher. As EllipseGeometryclasses , LineGeometrye RectangleGeometry descrevem formas relativamente simples. Para criar formas mais complexas ou curvas, use um PathGeometryarquivo .

PathGeometry Os objetos são compostos por um ou mais PathFigure objetos. Cada PathFigure objeto representa uma forma diferente. Cada PathFigure objeto é composto por um ou mais PathSegment objetos, cada um representando uma parte de conexão da forma. Os tipos de segmento incluem as seguintes classes , LineSegmentBezierSegmente ArcSegment .

O exemplo XAML a seguir mostra como desenhar um triângulo usando um PathGeometry objeto:

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

Neste exemplo, o ponto inicial do triângulo é (10.100). Um segmento de linha é desenhado de (10.100) a (100.100) e de (100.100) a (100,50). Em seguida, os números primeiro e último segmentos são conectados, porque a PathFigure.IsClosed propriedade é definida como true. O resultado é um triângulo:

Path triangle.

Para obter mais informações sobre geometrias, consulte Geometrias.