Xamarin.Forms Formes : chemin d’accès
La Path
classe dérive de la Shape
classe et peut être utilisée pour dessiner des courbes et des formes complexes. Ces courbes et formes sont souvent décrites à l’aide d’objets Geometry
. Pour plus d’informations sur les propriétés que la Path
classe hérite de la Shape
classe, consultez Xamarin.Forms Shapes.
Path
définit les propriétés suivantes :
Data
, de typeGeometry
, qui spécifie la forme à dessiner.RenderTransform
, de typeTransform
, qui représente la transformation appliquée à la géométrie d’un chemin avant d’être dessinée.
Les propriétés s’appuient sur des objets BindableProperty
, ce qui signifie qu’elles peuvent être les cibles de liaisons de données et mises en forme avec un style.
Pour plus d’informations sur les transformations, consultez Xamarin.Forms Transformations de chemin d’accès.
Créer un chemin d’accès
Pour dessiner un chemin, créez un Path
objet et définissez sa Data
propriété. Il existe deux techniques pour définir la Data
propriété :
- Vous pouvez définir une valeur de chaîne pour
Data
le code XAML à l’aide de la syntaxe de balisage de chemin d’accès. Avec cette approche, laPath.Data
valeur consomme un format de sérialisation pour les graphiques. En règle générale, vous ne modifiez pas cette valeur de chaîne à la main après sa création. Au lieu de cela, vous utilisez des outils de conception pour manipuler les données et l’exporter en tant que fragment de chaîne consommable par laData
propriété. - Vous pouvez définir la
Data
propriété sur unGeometry
objet. Il peut s’agir d’un objet spécifiqueGeometry
ou d’unGeometryGroup
conteneur qui peut combiner plusieurs objets geometry en un seul objet.
Créer un chemin d’accès avec une syntaxe de balisage de chemin d’accès
L’exemple XAML suivant montre comment dessiner un triangle à l’aide de la syntaxe de balisage de chemin d’accès :
<Path Data="M 10,100 L 100,100 100,50Z"
Stroke="Black"
Aspect="Uniform"
HorizontalOptions="Start" />
La Data
chaîne commence par la commande move, indiquée par M
, qui établit un point de départ absolu pour le chemin d’accès. L
est la commande de ligne, qui crée une ligne droite du point de départ au point de terminaison spécifié. Z
est la commande close, qui crée une ligne qui connecte le point actuel au point de départ. Le résultat est un triangle :
Pour plus d’informations sur la syntaxe de balisage de chemin d’accès, consultez Xamarin.Forms la syntaxe de balisage path.
Créer un chemin d’accès avec des objets Geometry
Les courbes et les formes peuvent être décrites à l’aide Geometry
d’objets, qui sont utilisés pour définir la propriété de l’objet Path
Data
. Il existe une variété d’objets Geometry
parmi lesquels choisir. Les EllipseGeometry
classes et RectangleGeometry
les LineGeometry
classes décrivent des formes relativement simples. Pour créer des formes plus complexes ou créer des courbes, utilisez un PathGeometry
.
PathGeometry
les objets sont constitués d’un ou plusieurs PathFigure
objets. Chaque PathFigure
objet représente une forme différente. Chaque PathFigure
objet est lui-même composé d’un ou plusieurs PathSegment
objets, chacun représentant une partie de connexion de la forme. Les types de segments incluent les classes et ArcSegment
BezierSegment
les LineSegment
classes suivantes.
L’exemple XAML suivant montre comment dessiner un triangle à l’aide d’un PathGeometry
objet :
<Path Stroke="Black"
Aspect="Uniform"
HorizontalOptions="Start">
<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>
Dans cet exemple, le point de départ du triangle est (10 100). Un segment de ligne est dessiné de (10 100) à (100 100) et de (100 100 100) à (100 50). Ensuite, les chiffres et les derniers segments sont connectés, car la PathFigure.IsClosed
propriété est définie sur true
. Le résultat est un triangle :
Pour plus d’informations sur les géométries, consultez Xamarin.Forms Géométries.