路径

Browse sample.浏览示例

.NET Multi-platform App UI (.NET MAUI) Path 类派生自 Shape 类,可用于绘制曲线和复杂形状。 这些曲线和形状通常使用 Geometry 对象进行描述。 有关 Path 类从 Shape 类继承的属性的信息,请参阅形状

Path 定义以下属性:

这些属性由 BindableProperty 对象提供支持;也就是说,它们可以作为数据绑定的目标,并能进行样式设置。

有关转换的详细信息,请参阅路径转换

创建路径

若要绘制路径,请创建一个 Path 对象并设置其 Data 属性。 有两种设置 Data 属性的方法:

  • 可以在 XAML 中使用路径标记语法为 Data 设置字符串值。 采用这种方法时,Path.Data 值会为图形使用序列化格式。 通常情况下,创建后不会手动编辑此字符串值。 而是使用设计工具来处理数据,并将其导出为可由 Data 属性使用的字符串片段。
  • 可以将 Data 属性设置为 Geometry 对象。 这可以是特定 Geometry 对象,也可以是作为容器(将多个几何对象合并为单个对象)的 GeometryGroup

使用路径标记语法创建路径

以下 XAML 示例演示如何使用路径标记语法绘制三角形:

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

Data 字符串以“move”命令开头,用 M 表示,用于为路径创建绝对起点。 L 是“line”命令,用于创建从起点到指定终点的直线。 Z 是“close”命令,用于创建连接当前点和起点的直线。 结果是一个三角形:

Path triangle.

有关路径标记语法的详细信息,请参阅路径标记语法

使用几何对象创建路径

可以使用 Geometry 对象来描述曲线和形状,这些对象用于设置 Path 对象的 Data 属性。 有多种 Geometry 对象可供选择。 EllipseGeometryLineGeometryRectangleGeometry 类描述相对简单的形状。 要创建更复杂的形状或创建曲线,请使用 PathGeometry

PathGeometry 对象由一个或多个 PathFigure 对象组成。 每个 PathFigure 对象表示不同的形状。 每个 PathFigure 对象本身由一个或多个 PathSegment 对象组成,每个对象代表形状的连接部分。 线段类型包括以下 LineSegmentBezierSegmentArcSegment 类。

以下 XAML 示例演示如何使用 PathGeometry 对象绘制三角形。

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

在此示例中,三角形的起点为 (10,100)。 从 (10,100) 到 (100,100),以及从 (100,100) 到 (100,50) 绘制了线段。 然后,由于 PathFigure.IsClosed 属性被设置为 true,第一条线段和最后一条线段被连接起来。 结果是一个三角形:

Path triangle.

有关几何图形的详细信息,请参阅几何图形