Cette documentation est archivée et n’est pas conservée.

PathGeometry, classe

Mise à jour : novembre 2007

Représente une forme complexe qui peut être composée d'arcs, de courbes, d'ellipses, de lignes et de rectangles.

Espace de noms :  System.Windows.Media
Assembly :  PresentationCore (dans PresentationCore.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation

[ContentPropertyAttribute("Figures")]
public sealed class PathGeometry : Geometry
/** @attribute ContentPropertyAttribute("Figures") */
public final class PathGeometry extends Geometry
public final class PathGeometry extends Geometry
<PathGeometry>
  Figures
</PathGeometry>

Chaque objet PathGeometry définit une collection d'objets PathFigure. Chacun des objets PathFigure est composé d'un ou de plusieurs objets PathSegment, tels que ArcSegment et LineSegment, qui définissent en fait leur forme.

Pour définir la zone remplie du PathGeometry, tous les objets PathFigure dont la propriété IsFilled a la valeur true doivent être pris et le FillRule doit être appliqué pour déterminer la zone fermée.

Cet exemple indique comment créer un segment de ligne. Pour se faire, utilisez les classes PathGeometry, PathFigure et LineSegment.

Les exemples suivants dessinent un LineSegment entre (10,50) et (200,70). L'illustration suivante indique le LineSegment qui en résulte. Un arrière-plan de grille a été ajouté pour afficher le système de coordonnées.

LineSegment dessiné de (10,50) à (200,700)

LineSegment dans un PathFigure
xaml

En langage XAML (Extensible Application Markup Language), vous pouvez utiliser la syntaxe d'attribut pour décrire un chemin d'accès.

<Path Stroke="Black" StrokeThickness="1"  
  Data="M 10,50 L 200,70" />


xaml

(Notez que cette syntaxe d'attribut crée en fait un StreamGeometry, version allégée d'un PathGeometry. Pour plus d'informations, consultez la page Syntaxe XAML pour les tracés.)

En langage XAML, vous pouvez également dessiner un segment de ligne à l'aide de la syntaxe d'élément objet. L'exemple suivant est équivalent à l'exemple XAML précédent.

PathFigure myPathFigure = new PathFigure();
myPathFigure.StartPoint = new Point(10, 50);

LineSegment myLineSegment = new LineSegment();
myLineSegment.Point = new Point(200, 70);

PathSegmentCollection myPathSegmentCollection = new PathSegmentCollection();
myPathSegmentCollection.Add(myLineSegment);

myPathFigure.Segments = myPathSegmentCollection;

PathFigureCollection myPathFigureCollection = new PathFigureCollection();
myPathFigureCollection.Add(myPathFigure);

PathGeometry myPathGeometry = new PathGeometry();
myPathGeometry.Figures = myPathFigureCollection;

Path myPath = new Path();
myPath.Stroke = Brushes.Black;
myPath.StrokeThickness = 1;
myPath.Data = myPathGeometry;


<Path Stroke="Black" StrokeThickness="1">
  <Path.Data>
    <PathGeometry>
      <PathFigure StartPoint="10,50">
        <LineSegment Point="200,70" />
      </PathFigure>
    </PathGeometry>
  </Path.Data>
</Path>


Cet exemple est extrait d'un exemple plus complet ; pour y accéder, consultez Géométries, exemple.

Davantage de code

Comment : créer un arc elliptiqueCet exemple montre comment dessiner un arc elliptique. Pour créer un arc elliptique, utilisez les classes PathGeometry, PathFigure et ArcSegment.
Comment : créer une courbe de Bézier cubiqueCet exemple montre comment créer une courbe de Bézier cubique. Pour créer une courbe de Bézier cubique, utilisez les classes PathGeometry, PathFigure et BezierSegment. Pour afficher la géométrie résultante, utilisez un élément Path ou utilisez-le avec un GeometryDrawing ou un DrawingContext. Dans les exemples suivants, une courbe de Bézier est tracée de (10, 100) à (300, 100). Les points de contrôle de la courbe sont (100, 0) et (200, 200).
Comment : créer une courbe de Bézier quadratique Cet exemple montre comment créer une courbe de Bézier quadratique. Pour créer une courbe de Bézier quadratique, utilisez les classes PathGeometry, PathFigure et QuadraticBezierSegment.
Comment : créer une forme composite Cet exemple montre comment créer des formes composites à l'aide d'objets Geometry et les afficher à l'aide d'un élément Path. Dans l'exemple suivant, une LineGeometry, une EllipseGeometry et un RectangleGeometry sont utilisés avec un GeometryGroup pour créer une forme composite. Les géométries sont ensuite dessinées à l'aide d'un élément Path.
Comment : créer plusieurs sous-chemins dans un PathGeometryCet exemple montre comment créer plusieurs sous-chemins dans un PathGeometry. Pour créer plusieurs sous-chemins, vous créez un PathFigure pour chaque sous-chemin.
Comment : contrôler le remplissage d'une forme compositeLa propriété FillRule d'un GeometryGroup ou d'un PathGeometry spécifie une « règle » que la forme composite utilise pour déterminer si un point donné fait partie de la géométrie. Il existe deux valeurs possibles pour FillRule: EvenOdd et Nonzero. Les sections suivantes décrivent comment utiliser ces deux règles.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0
Afficher: