PathFigure Class

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Represents a subsection of a geometry, a single connected series of two-dimensional geometric segments.

Inheritance Hierarchy

System..::.Object
  System.Windows..::.DependencyObject
    System.Windows.Media..::.PathFigure

Namespace:  System.Windows.Media
Assembly:  System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.

Syntax

<ContentPropertyAttribute("Segments", True)> _
Public NotInheritable Class PathFigure _
    Inherits DependencyObject
[ContentPropertyAttribute("Segments", true)]
public sealed class PathFigure : DependencyObject
<PathFigure .../>
-or-
<PathFigure ...>
  oneOrMorePathSegments
</PathFigure

XAML Values

The PathFigure type exposes the following members.

Constructors

  Name Description
PathFigure Initializes a new instance of the PathFigure class.

Top

Properties

  Name Description
Dispatcher Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.)
IsClosed Gets or sets a value that indicates whether this figure's first and last segments are connected.
IsFilled Gets or sets a value that indicates whether the contained area of this PathFigure is to be used for hit-testing, rendering, and clipping.
Segments Gets or sets the collection of segments that define the shape of this PathFigure object.
StartPoint Gets or sets the Point where the PathFigure begins.

Top

Methods

  Name Description
CheckAccess Determines whether the calling thread has access to this object. (Inherited from DependencyObject.)
ClearValue Clears the local value of a dependency property. (Inherited from DependencyObject.)
Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
GetAnimationBaseValue Returns any base value established for a Windows Phone dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)
GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
GetType Gets the Type of the current instance. (Inherited from Object.)
GetValue Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)
MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)
SetValue Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)
ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Fields

  Name Description
IsClosedProperty Identifies the IsClosed dependency property.
IsFilledProperty Identifies the IsFilled dependency property.
SegmentsProperty Identifies the Segments dependency property.
StartPointProperty Identifies the StartPoint dependency property.

Top

Remarks

The defining property of a PathFigure is its StartPoint, because it specifies the point from which the first contained line segment starts.

If you want a geometry where various figures are not connected to one another, you would specify multiple PathFigure objects within the PathFigureCollection, each with different StartPoint values.

Examples

The following example creates a simple PathGeometry made up of a single PathFigure with a LineSegment and displays it using a Path element. The PathFigure object's StartPoint is set to 10,20 and a LineSegment is defined with an end point of 100,130. The following illustration shows the PathGeometry created by this example.

A PathGeometry that contains a single LineSegment

<Canvas>
  <Path Stroke="Black" StrokeThickness="1">
    <Path.Data>
      <PathGeometry>
        <PathGeometry.Figures>
          <PathFigure StartPoint="10,20">
            <PathFigure.Segments>
              <LineSegment Point="100,130"/>
            </PathFigure.Segments>
          </PathFigure>
        </PathGeometry.Figures>
      </PathGeometry>
    </Path.Data>
  </Path>
</Canvas>

This example uses multiple segments in a PathFigure.

A PathGeometry

<Canvas>
  <Path Stroke="Black" StrokeThickness="1" >
    <Path.Data>
      <PathGeometry>
        <PathGeometry.Figures>
          <PathFigure StartPoint="10,50">
            <PathFigure.Segments>
              <BezierSegment Point1="100,0"
                Point2="200,200"
                Point3="300,100"/>
              <LineSegment Point="400,100" />
              <ArcSegment Size="50,50" RotationAngle="45"
                IsLargeArc="True" SweepDirection="Clockwise"
                Point="200,100"/>
            </PathFigure.Segments>
          </PathFigure>
        </PathGeometry.Figures>
      </PathGeometry>
    </Path.Data>
  </Path>
</Canvas>

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

System.Windows.Media Namespace

PathGeometry

PathSegment