Xamarin.Forms propriétés, méthodes et événements de contrôle courants
La Xamarin.FormsVisualElement
classe est la classe de base pour la plupart des contrôles utilisés dans une Xamarin.Forms application. La VisualElement
classe définit de nombreuses propriétés, méthodes et événements utilisés dans les classes dérivées.
Propriétés
Les propriétés suivantes sont disponibles sur VisualElement
les objets .
AnchorX
La AnchorX
propriété est une double
valeur qui définit le point central sur l’axe X pour les transformations telles que l’échelle et la rotation. La valeur par défaut est 0,5.
AnchorY
La AnchorY
propriété est une double
valeur qui définit le point central sur l’axe Y pour les transformations telles que l’échelle et la rotation. La valeur par défaut est 0,5.
Background
La Background
propriété est une Brush
valeur qui permet d’utiliser des pinceaux comme arrière-plan dans n’importe quel contrôle. La valeur par défaut est Brush.Default
.
BackgroundColor
La BackgroundColor
propriété est un Color
qui détermine la couleur d’arrière-plan du contrôle. S’il n’est pas défini, l’arrière-plan est l’objet par défaut Color
, qui s’affiche comme transparent.
Behaviors
La Behaviors
propriété est un List
d’objets Behavior
. Les comportements vous permettent d’attacher des fonctionnalités réutilisables à des éléments en les ajoutant à la Behaviors
liste. Pour plus d’informations sur la Behavior
classe, consultez Xamarin.Forms Comportements.
Bounds
La Bounds
propriété est un objet en lecture seule Rectangle
qui représente l’espace occupé par le contrôle. La Bounds
valeur de la propriété est affectée pendant le cycle de disposition. le Rectangle
struct
contient des propriétés et des méthodes utiles pour tester l’intersection et le confinement des rectangles. Pour plus d’informations, consultez l’APIXamarin.Forms Rectangle.
Clip
La Clip
propriété est un Geometry
objet qui définit le plan du contenu d’un élément. Pour définir un clip, utilisez un Geometry
objet tel que EllipseGeometry
pour définir la propriété de l’élément Clip
. Seule la zone qui se trouve dans la région de la géométrie est visible. Pour plus d’informations, consultez Clip with a Geometry.
Effects
La Effects
propriété est un List
d’objets Effect
, hérité de la Element
classe . Les effets permettent de personnaliser les contrôles natifs et sont généralement utilisés pour de petites modifications de style. Pour plus d’informations sur la Effect
classe, consultez Xamarin.Forms Effets.
FlowDirection
La FlowDirection
propriété est une FlowDirection
valeur enum. Le sens du flux peut être défini sur MatchParent
, LeftToRight
ou RightToLeft
et détermine l’ordre et la direction de la disposition. La FlowDirection
propriété est généralement utilisée pour prendre en charge les langues qui lisent de droite à gauche.
Height
La Height
propriété est une valeur en lecture seule double
qui décrit la hauteur rendue du contrôle. La Height
propriété est calculée pendant le cycle de disposition et ne peut pas être définie directement. La hauteur d’un contrôle peut être demandée à l’aide de la propriété HeightRequest.
HeightRequest
La HeightRequest
propriété est une double
valeur qui détermine la hauteur souhaitée du contrôle. La hauteur absolue du contrôle peut ne pas correspondre à la valeur demandée. Pour plus d’informations, consultez Propriétés de la demande.
InputTransparent
La InputTransparent
propriété est un bool
qui détermine si le contrôle reçoit une entrée utilisateur. La valeur par défaut est false
, garantissant que l’élément reçoit l’entrée. Cette propriété est transférée aux éléments enfants lorsqu’elle est définie. Si vous définissez la InputTransparent
propriété true
sur sur une classe de disposition, tous les éléments de la disposition ne reçoivent pas d’entrée.
IsEnabled
La IsEnabled
propriété est une bool
valeur qui détermine si le contrôle réagit à l’entrée utilisateur. La valeur par défaut est true
. L’attribution de la valeur false à cette propriété empêche le contrôle d’accepter l’entrée utilisateur.
IsFocused
La IsFocused
propriété est une bool
valeur qui indique si le contrôle est actuellement l’objet prioritaire. L’appel de la Focus
méthode sur le contrôle entraîne la définition de la IsFocused
valeur sur true. L’appel de la Unfocus
méthode définit cette propriété sur false.
IsTabStop
La IsTabStop
propriété est une bool
valeur qui définit si le contrôle reçoit le focus lorsque l’utilisateur avance dans les contrôles avec la touche Tab. Si cette propriété a la valeur false, la TabIndex
propriété n’aura aucun effet.
IsVisible
La IsVisible
propriété est une bool
valeur qui détermine si le contrôle est rendu. Les contrôles dont la IsVisible
propriété est définie sur false ne sont pas affichés, ne sont pas pris en compte pour les calculs d’espace pendant le cycle de disposition et ne peuvent pas accepter l’entrée utilisateur.
MinimumHeightRequest
La MinimumHeightRequest
propriété est une double
valeur qui détermine comment le dépassement de capacité est géré lorsque deux éléments sont en concurrence pour un espace limité. La définition de la MinimumHeightRequest
propriété permet au processus de disposition de mettre à l’échelle l’élément jusqu’à la dimension minimale demandée. Si aucune n’est MinimumHeightRequest
spécifiée, la valeur par défaut est -1 et le processus de disposition considère comme HeightRequest
étant la valeur minimale. Cela signifie que les éléments sans valeur n’auront MinimumHeightRequest
pas de hauteur évolutive.
Pour plus d’informations, consultez Propriétés de requête minimales.
MinimumWidthRequest
La MinimumWidthRequest
propriété est une double
valeur qui détermine comment le dépassement de capacité est géré lorsque deux éléments sont en concurrence pour un espace limité. La définition de la MinimumWidthRequest
propriété permet au processus de disposition de mettre à l’échelle l’élément jusqu’à la dimension minimale demandée. Si aucune n’est MinimumWidthRequest
spécifiée, la valeur par défaut est -1 et le processus de disposition considère comme WidthRequest
étant la valeur minimale. Cela signifie que les éléments sans valeur n’auront MinimumWidthRequest
pas de largeur évolutive.
Pour plus d’informations, consultez Propriétés de requête minimales.
Opacity
La Opacity
propriété est une double
valeur comprise entre zéro et une qui détermine l’opacité du contrôle pendant le rendu. La valeur par défaut de cette propriété est 1.0. Les valeurs en dehors de la plage comprise entre 0 et 1 sont limitées. La Opacity
propriété est appliquée uniquement si la IsVisible
propriété est true
. L’opacité est appliquée de manière itérative. Par conséquent, si un contrôle parent a une opacité de 0,5 et que son enfant a 0,5 opacité, l’enfant s’affiche avec une valeur d’opacité effective de 0,25. La définition de la Opacity
propriété d’un contrôle d’entrée sur 0 a un comportement non défini.
Parent
La propriété Parent
est héritée de la classe Element
. Cette propriété est un Element
objet qui est le parent du contrôle. La Parent
propriété est généralement définie automatiquement sur un élément lorsqu’il est ajouté en tant qu’enfant d’un autre élément.
Resources
La Resources
propriété est une ResourceDictionary
instance qui est remplie avec des paires clé/valeur qui sont généralement remplies au moment de l’exécution à partir de XAML. Ce dictionnaire permet aux développeurs d’applications de réutiliser les objets définis en XAML au moment de la compilation et de l’exécution. Les clés du dictionnaire sont renseignées à partir de l’attribut x:Key
de la balise XAML. L’objet créé à partir de XAML est inséré dans pour ResourceDictionary
la clé spécifiée. une fois qu’il a été initialisé.
Pour plus d’informations, consultez Dictionnaires de ressources.
Rotation
La Rotation
propriété est une double
valeur comprise entre zéro et 360 qui définit la rotation autour de l’axe Z en degrés. La valeur par défaut de cette propriété est 0. La rotation est appliquée par rapport aux AnchorX
valeurs et AnchorY
.
RotationX
La RotationX
propriété est une double
valeur comprise entre zéro et 360 qui définit la rotation autour de l’axe X en degrés. La valeur par défaut de cette propriété est 0. La rotation est appliquée par rapport aux AnchorX
valeurs et AnchorY
.
RotationY
La RotationY
propriété est une double
valeur comprise entre zéro et 360 qui définit la rotation autour de l’axe Y en degrés. La valeur par défaut de cette propriété est 0. La rotation est appliquée par rapport aux AnchorX
valeurs et AnchorY
.
Scale
La Scale
propriété est une double
valeur qui définit l’échelle du contrôle. La valeur par défaut de cette propriété est 1.0. L’échelle est appliquée par rapport aux AnchorX
valeurs et AnchorY
.
ScaleX
La ScaleX
propriété est une double
valeur qui définit l’échelle du contrôle le long de l’axe X. La valeur par défaut de cette propriété est 1.0. La ScaleX
propriété est appliquée par rapport à la AnchorX
valeur .
ScaleY
La ScaleY
propriété est une double
valeur qui définit l’échelle du contrôle le long de l’axe Y. La valeur par défaut de cette propriété est 1.0. La ScaleY
propriété est appliquée par rapport à la AnchorY
valeur .
Style
La propriété Style
est héritée de la classe NavigableElement
. Cette propriété est une instance de la Style
classe . La Style
classe contient des déclencheurs, des setters et des comportements qui définissent l’apparence et le comportement des éléments visuels. Pour plus d’informations, consultez Xamarin.Forms Styles XAML.
StyleClass
La StyleClass
propriété est une liste d’objets string
qui représentent les noms des Style
classes. Cette propriété est héritée de la classe NavigableElement
. La StyleClass
propriété permet d’appliquer plusieurs attributs de style à un VisualElement
instance. Pour plus d’informations, consultez Xamarin.Forms Classes de style.
TabIndex
La TabIndex
propriété est une int
valeur qui définit l’ordre de contrôle lors de l’avancement des contrôles avec la touche tabulation. La TabIndex
propriété est l’implémentation de la propriété définie sur l’interface ITabStopElement
, que la VisualElement
classe implémente.
TranslationX
La TranslationX
propriété est une double
valeur qui définit la traduction delta à appliquer sur l’axe X. La traduction est appliquée après la disposition et est généralement utilisée pour appliquer des animations. La traduction d’un élément en dehors des limites de son conteneur parent peut empêcher les entrées de fonctionner.
Pour plus d’informations, consultez Animation dans Xamarin.Forms.
TranslationY
La TranslationY
propriété est une double
valeur qui définit la traduction delta à appliquer sur l’axe Y. La traduction est appliquée après la disposition et est généralement utilisée pour appliquer des animations. La traduction d’un élément en dehors des limites de son conteneur parent peut empêcher les entrées de fonctionner.
Pour plus d’informations, consultez Animation dans Xamarin.Forms.
Triggers
La Triggers
propriété est une propriété en lecture seule List
d’objets TriggerBase
. Les déclencheurs permettent aux développeurs d’applications d’exprimer des actions en XAML qui modifient l’apparence visuelle des contrôles en réponse à des modifications d’événements ou de propriétés. Pour plus d’informations, consultez Xamarin.Forms Déclencheurs.
Visual
La Visual
propriété est une IVisual
instance qui permet de créer des renderers et de les appliquer de manière sélective aux VisualElement
instances. La Visual
propriété est définie pour correspondre à son parent, de sorte que la définition d’un convertisseur sur un composant s’applique également à tous les enfants de ce composant. Si aucun renderer personnalisé n’est défini sur un contrôle ou ses ancêtres, le convertisseur par défaut Xamarin.Forms est utilisé. Pour plus d’informations, consultez Xamarin.Forms Visuel.
Width
La Width
propriété est une valeur en lecture seule double
qui décrit la largeur rendue du contrôle. La Width
propriété est calculée pendant le cycle de disposition et ne peut pas être définie directement. La largeur d’un contrôle peut être demandée à l’aide de la propriété WidthRequest.
WidthRequest
La WidthRequest
propriété est une double
valeur qui détermine la largeur souhaitée du contrôle. La largeur absolue du contrôle peut ne pas correspondre à la valeur demandée. Pour plus d’informations, consultez Propriétés de la demande.
X
La X
propriété est une valeur en lecture seule double
qui décrit la position X actuelle du contrôle.
Y
La Y
propriété est une valeur en lecture seule double
qui décrit la position Y actuelle du contrôle.
Méthodes
Les méthodes suivantes sont disponibles sur la VisualElement
classe . Pour obtenir la liste complète, consultez Méthodes de l’API VisualElement.
FindByName
La FindByName
méthode est héritée de la Element
classe et a la signature suivante :
public object FindByName (string name)
Cette méthode recherche l’argument fourni name
dans tous les éléments enfants et retourne l’élément qui porte le nom spécifié. Si aucune correspondance n'est trouvée, retourne la valeur null
.
Focus
La Focus
méthode tente de définir le focus sur l’élément . Cette méthode a la signature suivante :
public bool Focus ()
La Focus
méthode retourne true
si le focus clavier a été correctement défini et false
si l’appel de méthode n’a pas entraîné de modification du focus. L’élément doit être en mesure de recevoir le focus pour que cette méthode fonctionne. L’appel de la Focus
méthode sur des éléments hors écran ou non réalisés a un comportement non défini.
Unfocus
La Unfocus
méthode tente de supprimer le focus sur l’élément . Cette méthode a la signature suivante :
public void Unfocus ()
L’élément doit déjà avoir le focus pour que cette méthode fonctionne.
Événements
Les événements suivants sont disponibles sur la VisualElement
classe . Pour obtenir la liste complète, consultez Xamarin.Forms Événements VisualElement.
Focused
L’événement Focused
est déclenché chaque fois que le VisualElement
instance reçoit le focus. Cet événement n’est pas en bulles dans la Xamarin.Forms pile, il est reçu directement à partir du contrôle natif. Cet événement est émis par la IsFocused
propriété setter.
SizeChanged
L’événement SizeChanged
est déclenché chaque fois que le VisualElement
instance Height
ou Width
les propriétés changent. Si les développeurs souhaitent répondre directement au changement de taille, au lieu de répondre à l’événement post-modification, ils doivent implémenter la méthode virtuelle à la OnSizeAllocated
place.
Unfocused
L’événement Unfocused
est déclenché chaque fois que le VisualElement
instance perd le focus. Cet événement n’est pas en bulles dans la Xamarin.Forms pile, il est reçu directement à partir du contrôle natif. Cet événement est émis par la IsFocused
propriété setter.
Unités de mesure
Les plateformes Android, iOS et UWP ont toutes des unités de mesure différentes qui peuvent varier d’un appareil à l’autre. Xamarin.Forms utilise une unité de mesure indépendante de la plateforme qui normalise les unités sur les appareils et les plateformes. Il y a 160 unités par pouce, ou 64 unités par centimètre, dans Xamarin.Forms.
Propriétés de requête
Les propriétés dont les noms contiennent « request » définissent une valeur souhaitée, qui peut ne pas correspondre à la valeur rendue réelle. Par exemple, HeightRequest
peut être défini sur 150, mais si la disposition n’autorise la place que pour 100 unités, le rendu Height
du contrôle n’est que de 100. La taille rendue est affectée par l’espace disponible et les composants contenus.
Propriétés de requête minimales
Les propriétés de requête minimales incluent MinimumHeightRequest
et MinimumWidthRequest
, et sont destinées à permettre un contrôle plus précis sur la façon dont les éléments gèrent le dépassement de capacité les uns par rapport aux autres. Toutefois, le comportement de disposition lié à ces propriétés a quelques considérations importantes.
Valeurs de propriété minimales non spécifiées
Si aucune valeur minimale n’est définie, la propriété minimale est définie par défaut sur -1. Le processus de disposition ignore cette valeur et considère que la valeur absolue est la valeur minimale. La conséquence pratique de ce comportement est qu’un élément sans valeur minimale spécifiée ne se réduit pas . Un élément avec une valeur minimale spécifiée est réduit.
Le code XAML suivant montre deux BoxView
éléments dans un horizontal StackLayout
:
<StackLayout Orientation="Horizontal">
<BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
<BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>
La première BoxView
instance demande une largeur de 500 et ne spécifie pas de largeur minimale. La deuxième BoxView
instance demande une largeur de 500 et une largeur minimale de 250. Si l’élément parent StackLayout
n’est pas assez large pour contenir les deux composants à leur largeur demandée, le premier BoxView
instance sera considéré par le processus de disposition comme ayant une largeur minimale de 500, car aucun autre minimum valide n’est spécifié. Le deuxième BoxView
instance est autorisé à descendre à 250 et il sera réduit pour s’ajuster jusqu’à ce que sa largeur atteigne 250 unités.
Si le comportement souhaité est pour la première BoxView
instance à effectuer un scale-down sans largeur minimale, le MinimumWidthRequest
doit être défini sur une valeur valide, telle que 0.
Valeurs de propriété minimales et absolues
Le comportement n’est pas défini lorsque la valeur minimale est supérieure à la valeur absolue. Par exemple, si WidthRequest
est défini sur 100, la MinimumWidthRequest
propriété ne doit jamais dépasser 100. Lorsque vous spécifiez une valeur de propriété minimale, vous devez toujours spécifier une valeur absolue pour vous assurer que la valeur absolue est supérieure à la valeur minimale.
Propriétés minimales dans une grille
Grid
Les dispositions ont leur propre système pour le dimensionnement relatif des lignes et des colonnes. L’utilisation MinimumWidthRequest
ou MinimumHeightRequest
au sein d’une Grid
disposition n’aura aucun effet. Pour plus d’informations, consultez Xamarin.Forms Grille.