Syntaxe XAML pour les tracésPath Markup Syntax

Les chemins sont discutés dans Formes et Dessin de base dans WPF Aperçu et l’aperçu degéométrie , cependant, ce sujet langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML)décrit en détail le mini-langage puissant et complexe que vous pouvez utiliser pour spécifier les géométries du chemin plus compactement en utilisant .Paths are discussed in Shapes and Basic Drawing in WPF Overview and the Geometry Overview, however, this topic describes in detail the powerful and complex mini-language you can use to specify path geometries more compactly using langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML).

Conditions préalables requisesPrerequisites

Pour comprendre ce sujet, vous devez être Geometry familier avec les caractéristiques de base des objets.To understand this topic, you should be familiar with the basic features of Geometry objects. Pour plus d’informations, voir l’aperçu dela géométrie .For more information, see the Geometry Overview.

Mini langages StreamGeometry et PathFigureCollectionStreamGeometry and PathFigureCollection Mini-Languages

WPFWPFfournit deux classes qui fournissent des mini-langues pour décrire les chemins géométriques: StreamGeometry et PathFigureCollection.provides two classes that provide mini-languages for describing geometric paths: StreamGeometry and PathFigureCollection.

Comme vous pouvez le constater dans les exemples précédents, les deux mini langages sont très similaires.As you can see from the preceding examples, the two mini-languages are very similar. Il est toujours possible PathGeometry d’utiliser un dans StreamGeometryn’importe quelle situation où vous pouvez utiliser un ; alors lequel devriez-vous utiliser?It's always possible to use a PathGeometry in any situation where you could use a StreamGeometry; so which one should you use? Utilisez StreamGeometry un lorsque vous n’avez pas besoin de modifier le chemin après l’avoir créé; utiliser PathGeometry un si vous avez besoin de modifier le chemin.Use a StreamGeometry when you don't need to modify the path after creating it; use a PathGeometry if you do need to modify the path.

Pour plus d’informations PathGeometry sur StreamGeometry les différences entre et les objets, voir la vue d’ensemble degéométrie .For more information about the differences between PathGeometry and StreamGeometry objects, see the Geometry Overview.

Remarque à propos des espaces blancsA Note about White Space

Par souci de concision, un seul espace est indiqué dans les sections de syntaxe qui suivent, mais plusieurs espaces sont également acceptables partout où un seul espace est affiché.For brevity, a single space is shown in the syntax sections that follow, but multiple spaces are also acceptable wherever a single space is shown.

Deux nombres n’ont pas réellement à être séparés par une virgule ou un espace blanc, mais cela ne peut être fait que lorsque la chaîne résultante est sans ambiguïté.Two numbers don’t actually have to be separated by a comma or white space, but this can only be done when the resulting string is unambiguous. Par exemple, 2..3 est en fait deux chiffres: "2."For instance, 2..3 is actually two numbers: "2." et « .3 ».And ".3". De 2-3 même, c’est "2" et "-3".Similarly, 2-3 is "2" and "-3". Les espaces ne sont pas requis avant ou après les commandes.Spaces are not required before or after commands, either.

SyntaxeSyntax

La langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML) syntaxe d’utilisation d’attribut pour un StreamGeometry est composée d’une valeur facultative FillRule et d’une ou de plusieurs descriptions de chiffres.The langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML) attribute usage syntax for a StreamGeometry is composed of an optional FillRule value and one or more figure descriptions.

Utilisation d’attribut XAML pour StreamGeometryStreamGeometry XAML Attribute Usage
<``=" propriété d’objet [ fillRule] figureDescription] figureDescription``" ... />< object property ="[ fillRule] figureDescription[ figureDescription]* " ... />

La langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML) syntaxe d’utilisation d’attribut pour un PathFigureCollection est composée d’une ou plusieurs descriptions de figure.The langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML) attribute usage syntax for a PathFigureCollection is composed of one or more figure descriptions.

Utilisation d’attributs XAML pour PathFigureCollectionPathFigureCollection XAML Attribute Usage
<``figureDescription figureDescription propriété object =" d’objet [ ]" ... />< object property =" figureDescription[ figureDescription]* " ... />
TermeTerm DescriptionDescription
fillRulefillRule System.Windows.Media.FillRule

Précise si les StreamGeometry utilisations Nonzero FillRulede la EvenOdd ou .Specifies whether the StreamGeometry uses the EvenOdd or NonzeroFillRule.

- F0spécifie la règle de EvenOdd remplissage.- F0 specifies the EvenOdd fill rule.
- F1spécifie la règle de Nonzero remplissage.- F1 specifies the Nonzero fill rule.

Si vous omettez cette commande, le sous-chemin utilise le comportement par défaut, qui est EvenOdd.If you omit this command, the subpath uses the default behavior, which is EvenOdd. Si vous spécifiez cette commande, vous devez la placer en premier.If you specify this command, you must place it first.
figureDescriptionfigureDescription Une figure composée d’une commande move, de commandes draw et d’une commande close facultative.A figure composed of a move command, draw commands, and an optional close command.

moveCommand drawCommands [ closeCommand ]moveCommand drawCommands [ closeCommand ]
moveCommandmoveCommand Une commande move qui spécifie le point de départ de la figure.A move command that specifies the start point of the figure. Voir la section Move Command.See the Move Command section.
drawCommandsdrawCommands Une ou plusieurs commandes draw qui décrivent le contenu de la figure.One or more drawing commands that describe the figure's contents. Voir la section Commandes de tirage.See the Draw Commands section.
closeCommandcloseCommand Une commande close facultative qui ferme la figure.An optional close command that closes figure. Voir la section Close Command.See the Close Command section.

Commande moveMove Command

Spécifie le point de départ d’une nouvelle figure.Specifies the start point of a new figure.

SyntaxeSyntax
MstartPointM startPoint

- ou -- or -

mstartPointm startPoint
TermeTerm DescriptionDescription
startPointstartPoint System.Windows.Point

Le point de départ d’une nouvelle figure.The start point of a new figure.

Une majuscule M startPoint indique qu’il s’agit d’une valeur absolue; une caisse m inférieure startPoint indique qu’il s’agit d’un décalage par rapport au point précédent, ou (0,0) s’il n’y en a pas.An uppercase M indicates that startPoint is an absolute value; a lowercase m indicates that startPoint is an offset to the previous point, or (0,0) if none exists. Si vous énumérez plusieurs points après la commande move, une ligne est tracée entre ces points, même si vous avez spécifié la commande line.If you list multiple points after the move command, a line is drawn to those points though you specified the line command.

Commandes drawDraw Commands

Une commande draw peut se composer de plusieurs commandes shape.A draw command can consist of several shape commands. Les commandes shape suivantes sont disponibles : line, horizontal line, vertical line, cubic Bezier curve, quadratic Bezier curve, smooth cubic Bezier curve, smooth quadratic Bezier curve et elliptical arc.The following shape commands are available: line, horizontal line, vertical line, cubic Bezier curve, quadratic Bezier curve, smooth cubic Bezier curve, smooth quadratic Bezier curve, and elliptical arc.

Vous entrez chaque commande en utilisant une majuscule ou une minuscule : les majuscules indiquent des valeurs absolues et les minuscules indiquent des valeurs relatives : les points de contrôle pour ce segment sont relatifs au point de fin de l’exemple précédent.You enter each command by using either an uppercase or a lowercase letter: uppercase letters denote absolute values and lowercase letters denote relative values: the control points for that segment are relative to the end point of the preceding example. Lorsque vous entrez séquentiellement plus d’une commande du même type, vous pouvez omettre l’entrée de commande en double; par exemple, L 100,200 300,400 est L 100,200 L 300,400équivalent à .When sequentially entering more than one command of the same type, you can omit the duplicate command entry; for example, L 100,200 300,400 is equivalent to L 100,200 L 300,400. Le tableau suivant décrit le mouvement et les commandes de tirage.The following table describes the move and draw commands.

Commande lineLine Command

Crée une ligne droite entre le point actuel et le point de fin spécifié.Creates a straight line between the current point and the specified end point. l 20 30et L 20,30 sont des exemples de commandes de ligne valides.l 20 30 and L 20,30 are examples of valid line commands.

SyntaxeSyntax
LPoint finalL endPoint

- ou -- or -

lPoint finall endPoint
TermeTerm DescriptionDescription
TerminaisonendPoint System.Windows.Point

Extrémité de la ligne.The end point of the line.

Une majuscule L endPoint indique qu’il s’agit d’une valeur absolue; une caisse l inférieure endPoint indique qu’il s’agit d’un décalage par rapport au point précédent, ou (0,0) s’il n’y en a pas.An uppercase L indicates that endPoint is an absolute value; a lowercase l indicates that endPoint is an offset to the previous point, or (0,0) if none exists.

Commande Horizontal LineHorizontal Line Command

Crée une ligne horizontale entre le point actuel et la coordonnée x spécifiée.Creates a horizontal line between the current point and the specified x-coordinate. H 90 est un exemple de commande horizontal line valide.H 90 is an example of a valid horizontal line command.

SyntaxeSyntax
H XH x

- ou -- or -

h Xh x
TermeTerm DescriptionDescription
Xx System.Double

La coordonnée x du point de fin de la ligne.The x-coordinate of the end point of the line.

Une majuscule H x indique qu’il s’agit d’une valeur absolue; une caisse h inférieure x indique qu’il s’agit d’un décalage par rapport au point précédent, ou (0,0) s’il n’y en a pas.An uppercase H indicates that x is an absolute value; a lowercase h indicates that x is an offset to the previous point, or (0,0) if none exists.

Commande Vertical LineVertical Line Command

Crée une ligne verticale entre le point actuel et la coordonnée y spécifiée.Creates a vertical line between the current point and the specified y-coordinate. v 90 est un exemple de commande vertical line valide.v 90 is an example of a valid vertical line command.

SyntaxeSyntax
V yV y

- ou -- or -

v yv y
TermeTerm DescriptionDescription
yy System.Double

La coordonnée y du point de fin de la ligne.The y-coordinate of the end point of the line.

Une majuscule V y indique qu’il s’agit d’une valeur absolue; une caisse v inférieure y indique qu’il s’agit d’un décalage par rapport au point précédent, ou (0,0) s’il n’y en a pas.An uppercase V indicates that y is an absolute value; a lowercase v indicates that y is an offset to the previous point, or (0,0) if none exists.

Commande Cubic Bezier CurveCubic Bezier Curve Command

Crée une courbe cubique de Bézier entre le point actuel etcontrolPointle controlPointpoint final spécifié en utilisant les deux points de contrôle spécifiés (1 et 2).Creates a cubic Bezier curve between the current point and the specified end point by using the two specified control points (controlPoint1 and controlPoint2). C 100,200 200,400 300,200 est un exemple de commande curve valide.C 100,200 200,400 300,200 is an example of a valid curve command.

SyntaxeSyntax
C``controlPoint1controlPoint2endPointC controlPoint1controlPoint2endPoint

- ou -- or -

c``controlPoint1controlPoint2endPointc controlPoint1controlPoint2endPoint
TermeTerm DescriptionDescription
controlPoint1controlPoint1 System.Windows.Point

Le premier point de contrôle de la courbe, qui détermine la tangente de départ de la courbe.The first control point of the curve, which determines the starting tangent of the curve.
controlPoint2controlPoint2 System.Windows.Point

Le deuxième point de contrôle de la courbe, qui détermine la tangente de fin de la courbe.The second control point of the curve, which determines the ending tangent of the curve.
endPoint System.Windows.Point

Point vers lequel la courbe est dessinée.The point to which the curve is drawn.

Commande Quadratic Bezier CurveQuadratic Bezier Curve Command

Crée une courbe quadratique de Bézier entre le point actuel etcontrolPointle point final spécifié en utilisant le point de contrôle spécifié ().Creates a quadratic Bezier curve between the current point and the specified end point by using the specified control point (controlPoint). q 100,200 300,200 est un exemple de commande quadratic Bezier curve valide.q 100,200 300,200 is an example of a valid quadratic Bezier curve command.

SyntaxeSyntax
Q controlPoint endPointQ controlPoint endPoint

- ou -- or -

q controlPoint endPointq controlPoint endPoint
TermeTerm DescriptionDescription
controlPoint System.Windows.Point

Le point de contrôle de la courbe, qui détermine la tangente de départ et la tangente de fin de la courbe.The control point of the curve, which determines the starting and ending tangents of the curve.
endPoint System.Windows.Point

Point vers lequel la courbe est dessinée.The point to which the curve is drawn.

Commande Smooth cubic Bezier curveSmooth cubic Bezier curve Command

Crée une courbe de Bézier cubique lissée entre le point actuel et le point de fin spécifié.Creates a cubic Bezier curve between the current point and the specified end point. Le premier point de contrôle est supposé être la réflexion du deuxième point de contrôle de la commande précédente par rapport au point actuel.The first control point is assumed to be the reflection of the second control point of the previous command relative to the current point. S’il n’existe pas de commande précédente, ou si la commande précédente n’était pas une commande cubic Bezier curve ni une commande smooth cubic Bezier curve, imaginez que le premier point de contrôle coïncide avec le point actuel.If there is no previous command or if the previous command was not a cubic Bezier curve command or a smooth cubic Bezier curve command, assume the first control point is coincident with the current point. Le deuxième point de contrôle, le point de contrôle controlPointde la fin de la courbe, est spécifié par 2.The second control point, the control point for the end of the curve, is specified by controlPoint2. Par exemple, S 100,200 200,300 est une commande de courbe de Bézier cubique valide.For example, S 100,200 200,300 is a valid smooth cubic Bezier curve command.

SyntaxeSyntax
S controlPoint2endPointS controlPoint2endPoint

- ou -- or -

s controlPoint2endPoints controlPoint2endPoint
TermeTerm DescriptionDescription
controlPoint2controlPoint2 System.Windows.Point

Le point de contrôle de la courbe, qui détermine la tangente de fin de la courbe.The control point of the curve, which determines the ending tangent of the curve.
endPoint System.Windows.Point

Point vers lequel la courbe est dessinée.The point to which the curve is drawn.

Commande Smooth quadratic Bezier curveSmooth quadratic Bezier curve Command

Crée une courbe de Bézier quadratique lissée entre le point actuel et le point de fin spécifié.Creates a quadratic Bezier curve between the current point and the specified end point. Le point de contrôle est supposé être la réflexion du point de contrôle de la commande précédente par rapport au point actuel.The control point is assumed to be the reflection of the control point of the previous command relative to the current point. S’il n’existe pas de commande précédente, ou si la commande précédente n’était pas une commande quadratic Bezier curve ni une commande smooth quadratic Bezier curve, le point de contrôle coïncide avec le point actuel.If there is no previous command or if the previous command was not a quadratic Bezier curve command or a smooth quadratic Bezier curve command, the control point is coincident with the current point.

SyntaxeSyntax
T controlPoint endPointT controlPoint endPoint

- ou -- or -

t controlPoint endPointt controlPoint endPoint
TermeTerm DescriptionDescription
controlPoint System.Windows.Point

Le point de contrôle de la courbe, qui détermine la tangente de départ et de fin de la courbe.The control point of the curve, which determines the starting and tangent of the curve.
endPoint System.Windows.Point

Point vers lequel la courbe est dessinée.The point to which the curve is drawn.

Commande Elliptical ArcElliptical Arc Command

Crée un arc elliptique entre le point actuel et le point de fin spécifié.Creates an elliptical arc between the current point and the specified end point.

SyntaxeSyntax
A size rotationAngle isLargeArcFlag sweepDirectionFlag endPointA size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint

- ou -- or -

a size rotationAngle isLargeArcFlag sweepDirectionFlag endPointa size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint
TermeTerm DescriptionDescription
size System.Windows.Size

Rayons X et Y de l’arc.The x- and y-radius of the arc.
rotationAngle System.Double

La rotation de l’ellipse, en degrés.The rotation of the ellipse, in degrees.
isLargeArcFlag Défini sur 1 si l’angle de l’arc doit être de 180 degrés ou plus ; dans le cas contraire, défini sur 0.Set to 1 if the angle of the arc should be 180 degrees or greater; otherwise, set to 0.
sweepDirectionFlag Défini sur 1 si l’arc est dessiné dans une direction d’angle positif ; dans le cas contraire, défini sur 0.Set to 1 if the arc is drawn in a positive-angle direction; otherwise, set to 0.
endPoint System.Windows.Point

Point où l’arc est dessiné.The point to which the arc is drawn.

Commande closeThe Close Command

Termine la figure actuelle et crée une ligne qui relie le point actuel au point de départ de la figure.Ends the current figure and creates a line that connects the current point to the starting point of the figure. Cette commande crée une jonction de ligne (angle) entre le dernier segment et le premier segment de la figure.This command creates a line-join (corner) between the last segment and the first segment of the figure.

SyntaxeSyntax
Z

- ou -- or -

z

Syntaxe de pointPoint Syntax

Décrit les coordonnées x et y d’un point où (0,0) est le coin supérieur gauche.Describes the x- and y-coordinates of a point where (0,0) is the top left corner.

SyntaxeSyntax
x , yx , y

- ou -- or -

x yx y
TermeTerm DescriptionDescription
x System.Double

Coordonnée X du point.The x-coordinate of the point.
y System.Double

Coordonnée Y du point.The y-coordinate of the point.

Valeurs spécialesSpecial Values

Plutôt que d’utiliser une valeur numérique standard, vous pouvez opter pour les valeurs spéciales suivantes.Instead of a standard numerical value, you can also use the following special values. Ces valeurs sont sensibles à la casse.These values are case-sensitive.

InfiniInfinity
Représente Double.PositiveInfinity.Represents Double.PositiveInfinity.

-Infini-Infinity
Représente Double.NegativeInfinity.Represents Double.NegativeInfinity.

NaNNaN
Représente Double.NaN.Represents Double.NaN.

Vous pouvez également utiliser la notation scientifique.You may also use scientific notation. Par exemple, +1.e17 est une valeur valide.For example, +1.e17 is a valid value.

Voir aussiSee also