PathSegment Class
Represents a segment of a PathFigure object.
Assembly: PresentationCore (in PresentationCore.dll)
Classes that derive from PathSegment, such as ArcSegment, BezierSegment, and LineSegment, represent specific types of geometric segments.
Freezable Features: Because PathSegment objects inherit from the Freezable class, they provide several special features: they can be declared as resources, shared among multiple objects, made read-only to improve performance, cloned, and made thread-safe. For more information about the different features that are provided by Freezable objects, see Freezable Objects Overview.
Notes to Inheritors:Although this class is abstract, it is not publicly extensible.
This example shows how to create a shape using the PathGeometry class. PathGeometry objects are composed of one or more PathFigure objects; each PathFigure represents a different "figure" or shape. Each PathFigure is itself composed of one or more PathSegment objects, each representing a connected portion of the figure or shape. Segment types include LineSegment, ArcSegment, and BezierSegment.
The following example uses a PathGeometry to create a triangle. The PathGeometry is displayed using a Path element.
<Path Stroke="Black" StrokeThickness="1"> <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>
The following illustration shows the shape created in the previous example.

The previous example showed how to create a relatively simple shape, a triangle. A PathGeometry can also be used to create more complex shapes, including arcs and curves. For examples, see How to: Create an Elliptical Arc, How to: Create a Cubic Bezier Curve, and How to: Create a Quadratic Bezier Curve.
This example is part of larger sample; for the complete sample, see the Geometries Sample.
More Code
How to: Create a LineSegment in a PathGeometry | This example shows how to create a line segment. To create a line segment, use the PathGeometry, PathFigure, and LineSegment classes. |
How to: Create an Elliptical Arc | This example shows how to draw an elliptical arc. To create an elliptical arc, use the PathGeometry, PathFigure, and ArcSegment classes. |
How to: Create a Cubic Bezier Curve | This example shows how to create a cubic Bezier curve. To create a cubic Bezier curve, use the PathGeometry, PathFigure, and BezierSegment classes. To display the resulting geometry, use a Path element, or use it with a GeometryDrawing or a DrawingContext. In the following examples, a cubic Bezier curve is drawn from (10, 100) to (300, 100). The curve has control points of (100, 0) and (200, 200). |
How to: Create a Quadratic Bezier Curve | This example shows how to create a quadratic Bezier curve. To create a quadratic Bezier curve, use the PathGeometry, PathFigure, and QuadraticBezierSegment classes. |
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Freezable
System.Windows.Media.Animation.Animatable
System.Windows.Media.PathSegment
System.Windows.Media.ArcSegment
System.Windows.Media.BezierSegment
System.Windows.Media.LineSegment
System.Windows.Media.PolyBezierSegment
System.Windows.Media.PolyLineSegment
System.Windows.Media.PolyQuadraticBezierSegment
System.Windows.Media.QuadraticBezierSegment
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.