Formes
Une interface utilisateur d’application multiplateforme .NET (.NET MAUI) Shape est un type qui vous permet de View dessiner une forme à l’écran. Shape les objets peuvent être utilisés dans les classes de disposition et la plupart des contrôles, car la Shape classe dérive de la View classe. Les formes .NET MAUI sont disponibles dans l’espace Microsoft.Maui.Controls.Shapes de noms.
Shape définit les propriétés suivantes :
- Aspect, de type Stretch, décrit comment la forme remplit son espace alloué. La valeur par défaut de cette propriété est
Stretch.None
. - Fill, de type Brush, indique le pinceau utilisé pour peindre l’intérieur de la forme.
- Stroke, de type Brush, indique le pinceau utilisé pour peindre le contour de la forme.
- StrokeDashArray, de type
DoubleCollection
, qui représente une collection dedouble
valeurs qui indiquent le modèle de tirets et d’écarts utilisés pour décrire une forme. - StrokeDashOffset, de type
double
, spécifie la distance dans le modèle de tirets où commence un tiret. La valeur par défaut de cette propriété est 0.0. - StrokeDashPattern, de type
float[]
, indique le motif des tirets et des lacunes utilisés lors du dessin du trait pour une forme. - StrokeLineCap, de type PenLineCap, décrit la forme au début et à la fin d’une ligne ou d’un segment. La valeur par défaut de cette propriété est
PenLineCap.Flat
. - StrokeLineJoin, de type PenLineJoin, spécifie le type de jointure utilisé aux sommets d’une forme. La valeur par défaut de cette propriété est
PenLineJoin.Miter
. - StrokeMiterLimit, de type
double
, spécifie la limite du rapport de la longueur de mitre à la StrokeThickness moitié d’une forme. La valeur par défaut de cette propriété est 10.0. - StrokeThickness, de type
double
, indique la largeur du contour de la forme. La valeur par défaut de cette propriété est 1.0.
Ces propriétés sont sauvegardées par BindableProperty des objets, ce qui signifie qu’elles peuvent être des cibles de liaisons de données et mises en forme.
.NET MAUI définit un certain nombre d’objets qui dérivent de la Shape classe. EllipseVoici , PolygonPathPolylineLine, Rectangleet .RoundRectangle
Peindre des formes
Brush les objets sont utilisés pour peindre les formes Stroke et Fill:
<Ellipse Fill="DarkBlue"
Stroke="Red"
StrokeThickness="4"
WidthRequest="150"
HeightRequest="50"
HorizontalOptions="Start" />
Dans cet exemple, le trait et le remplissage d’un Ellipse sont spécifiés :
Important
Brush les objets utilisent un convertisseur de type qui permet aux valeurs spécifiées Color
pour la Stroke propriété.
Si vous ne spécifiez pas d’objet Brush pour Strokeou si vous définissez StrokeThickness la valeur 0, la bordure autour de la forme n’est pas dessinée.
Pour plus d’informations sur Brush les objets, consultez Pinceaux. Pour plus d’informations sur les valeurs valides Color
, consultez Couleurs.
Formes étirées
Shape les objets ont une Aspect propriété, de type Stretch. Cette propriété détermine comment le contenu d’un Shape objet est étiré pour remplir l’espace de disposition de l’objet Shape . L’espace de disposition d’un Shape objet est la quantité d’espace Shape allouée par le système de disposition .NET MAUI, en raison d’un paramètre et HeightRequest d’un paramètre explicites WidthRequest ou de ses HorizontalOptions
VerticalOptions
paramètres.
L’énumération Stretch définit les membres suivants :
None
, qui indique que le contenu conserve sa taille d’origine. C’est la valeur par défaut de la propriétéShape.Aspect
.- Fill, qui indique que le contenu est redimensionné pour remplir les dimensions de destination. Les proportions ne sont pas conservées.
Uniform
, qui indique que le contenu est redimensionné pour s’adapter aux dimensions de destination, tout en conservant le rapport d’aspect.UniformToFill
, indique que le contenu est redimensionné pour remplir les dimensions de destination, tout en conservant le rapport d’aspect. Si les proportions du rectangle de destination diffèrent de celles de la source, le contenu source est détouré pour s’intégrer dans les dimensions de l’objet.
Le code XAML suivant montre comment définir la Aspect propriété :
<Path Aspect="Uniform"
Stroke="Yellow"
Fill="Red"
BackgroundColor="LightGray"
HorizontalOptions="Start"
HeightRequest="100"
WidthRequest="100">
<Path.Data>
<!-- Path data goes here -->
</Path.Data>
</Path>
Dans cet exemple, un Path objet dessine un cœur. Les propriétés et HeightRequest les propriétés de WidthRequest l’objet Path sont définies sur 100 unités indépendantes de l’appareil et sa Aspect propriété est définie sur Uniform
. Par conséquent, le contenu de l’objet est redimensionné pour s’adapter aux dimensions de destination, tout en préservant les proportions :
Dessiner des formes en pointillés
Shape les objets ont une StrokeDashArray propriété, de type DoubleCollection
. Cette propriété représente une collection de double
valeurs qui indiquent le modèle de tirets et d’écarts utilisés pour décrire une forme. A DoubleCollection
est une ObservableCollection
valeur double
. Chaque double
élément de la collection spécifie la longueur d’un tiret ou d’un écart. Le premier élément de la collection, situé à l’index 0, spécifie la longueur d’un tiret. Le deuxième élément de la collection, situé à l’index 1, spécifie la longueur d’un écart. Par conséquent, les objets avec une valeur d’index pair spécifient des tirets, tandis que les objets avec une valeur d’index impaire spécifient des écarts.
Shape les objets ont également une StrokeDashOffset propriété de type double
, qui spécifie la distance dans le modèle de tirets où commence un tiret. L’échec de la définition de cette propriété entraîne l’établissement Shape d’un plan solide.
Les formes en pointillés peuvent être dessinées en définissant à la fois les propriétés et StrokeDashOffset les StrokeDashArray propriétés. La StrokeDashArray propriété doit être définie sur une ou plusieurs double
valeurs, avec chaque paire délimitée par une virgule unique et/ou un ou plusieurs espaces. Par exemple, « 0.5 1.0 » et « 0.5,1.0 » sont tous deux valides.
L’exemple XAML suivant montre comment dessiner un rectangle en pointillés :
<Rectangle Fill="DarkBlue"
Stroke="Red"
StrokeThickness="4"
StrokeDashArray="1,1"
StrokeDashOffset="6"
WidthRequest="150"
HeightRequest="50"
HorizontalOptions="Start" />
Dans cet exemple, un rectangle rempli avec un trait en pointillés est dessiné :
Fin de ligne de contrôle
Une ligne comporte trois parties : capuchon de début, corps de ligne et limite de fin. Les majuscules de début et de fin décrivent la forme au début et à la fin d’une ligne ou d’un segment.
Shape les objets ont une StrokeLineCap propriété, de type PenLineCap, qui décrit la forme au début et à la fin d’une ligne ou d’un segment. L’énumération PenLineCap définit les membres suivants :
Flat
, qui représente une limite qui ne s’étend pas au-delà du dernier point de la ligne. Cette valeur est comparable à aucune limite de ligne et correspond à la valeur par défaut de la StrokeLineCap propriété.Square
, qui représente un rectangle qui a une hauteur égale à l’épaisseur de trait et une longueur égale à la moitié de l’épaisseur de ligne.Round
, qui représente un demi-cercle qui a un diamètre égal à l’épaisseur de ligne.
Important
La StrokeLineCap propriété n’a aucun effet si vous la définissez sur une forme qui n’a aucun point de début ou de fin. Par exemple, cette propriété n’a aucun effet si vous l’avez définie sur un Ellipse, ou Rectangle.
Le code XAML suivant montre comment définir la StrokeLineCap propriété :
<Line X1="0"
Y1="20"
X2="300"
Y2="20"
StrokeLineCap="Round"
Stroke="Red"
StrokeThickness="12" />
Dans cet exemple, la ligne rouge est arrondie au début et à la fin de la ligne :
Jointures de ligne de contrôle
Shape les objets ont une StrokeLineJoin propriété, de type PenLineJoin, qui spécifie le type de jointure utilisé aux sommets de la forme. L’énumération PenLineJoin définit les membres suivants :
Miter
, qui représente des sommets angulaires réguliers. C’est la valeur par défaut de la propriété StrokeLineJoin.Bevel
, qui représente les sommets biseautés.Round
, qui représente les sommets arrondis.
Remarque
Lorsque la StrokeLineJoin propriété est définie Miter
sur , la StrokeMiterLimit propriété peut être définie sur une valeur pour double
limiter la longueur des jointures de trait dans la forme.
Le code XAML suivant montre comment définir la StrokeLineJoin propriété :
<Polyline Points="20 20,250 50,20 120"
Stroke="DarkBlue"
StrokeThickness="20"
StrokeLineJoin="Round" />
Dans cet exemple, le polyligne bleu foncé a des jointures arrondies à ses sommets :
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour