PathFigure Class
Represents a subsection of a geometry, a single connected series of two-dimensional geometric segments.
Namespace: System.Windows.Media
Assembly: System.Windows (in System.Windows.dll)
The PathFigure type exposes the following members.
| 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. |
| 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 Silverlight 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.) |
| 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. |
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.
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.

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

<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>
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.





