Xamarin.Forms propriétés de contrôle, méthodes et événements 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érivantes.
Les propriétés suivantes sont disponibles sur VisualElement
les objets.
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.
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.
La Background
propriété est une Brush
valeur qui permet aux pinceaux d’être utilisés comme arrière-plan dans n’importe quel contrôle. La valeur par défaut est Brush.Default
.
La BackgroundColor
propriété est une Color
propriété qui détermine la couleur d’arrière-plan du contrôle. Si ce paramètre n’est pas défini, l’arrière-plan est l’objet par défaut Color
, qui s’affiche comme transparent.
La Behaviors
propriété est un List
objet 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.
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 propriété est affectée pendant le cycle de disposition. Contient Rectangle
struct
des propriétés et des méthodes utiles pour tester l’intersection et l’isolement des rectangles. Pour plus d’informations, consultez l’API Xamarin.FormsRectangle.
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 située dans la région de la géométrie sera visible. Pour plus d’informations, consultez Clip avec une géométrie.
La Effects
propriété est un List
objet Effect
hérité de la Element
classe. Les effets permettent de personnaliser les contrôles natifs et sont généralement utilisés pour les petites modifications de style. Pour plus d’informations sur la Effect
classe, consultez Xamarin.Forms Effets.
La FlowDirection
propriété est une FlowDirection
valeur d’énumération. La direction du flux peut être définie MatchParent
sur , LeftToRight
ou RightToLeft
détermine l’ordre de disposition et la direction. La FlowDirection
propriété est généralement utilisée pour prendre en charge les langues qui lisent de droite à gauche.
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 directement définie. La hauteur d’un contrôle peut être demandée à l’aide de la propriété 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 requête.
La InputTransparent
propriété est une bool
propriété 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 une entrée. Cette propriété transfère aux éléments enfants lorsqu’elle est définie. Si vous définissez la InputTransparent
propriété true
sur une classe de disposition, tous les éléments de la disposition ne reçoivent pas d’entrée.
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
. La définition de cette propriété sur false empêche le contrôle d’accepter l’entrée utilisateur.
La IsFocused
propriété est une bool
valeur qui décrit 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 true. L’appel de la Unfocus
méthode définit cette propriété sur false.
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 tabulation. Si cette propriété est false, la TabIndex
propriété n’aura aucun effet.
La IsVisible
propriété est une bool
valeur qui détermine si le contrôle est rendu. Les contrôles avec la IsVisible
propriété définie sur false ne seront pas affichés, ne seront pas pris en compte pour les calculs d’espace pendant le cycle de disposition et ne peuvent pas accepter l’entrée utilisateur.
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 valeur n’est MinimumHeightRequest
spécifiée, la valeur par défaut est -1 et le processus de disposition considère la HeightRequest
valeur minimale. Cela signifie que les éléments sans valeur n’ont MinimumHeightRequest
pas de hauteur évolutive.
Pour plus d’informations, consultez Propriétés minimales de la requête.
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 valeur n’est MinimumWidthRequest
spécifiée, la valeur par défaut est -1 et le processus de disposition considère la WidthRequest
valeur minimale. Cela signifie que les éléments sans valeur n’ont MinimumWidthRequest
pas de largeur évolutive.
Pour plus d’informations, consultez Propriétés minimales de la requête.
La Opacity
propriété est une double
valeur comprise entre zéro et un 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 seront 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 0,5 opacité 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.
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’elle est ajoutée en tant qu’enfant d’un autre élément.
La Resources
propriété est une ResourceDictionary
instance 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 des objets définis en XAML au moment de la compilation et au moment de l’exécution. Les clés du dictionnaire sont remplies à partir de l’attribut x:Key
de la balise XAML. L’objet créé à partir de XAML est inséré dans la ResourceDictionary
clé spécifiée. une fois qu’elle a été initialisée.
Pour plus d’informations, consultez Dictionnaires de ressources.
La Rotation
propriété est une double
valeur comprise entre zéro et 360 qui définit la rotation sur 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 valeurs et AnchorY
aux AnchorX
valeurs.
La RotationX
propriété est une double
valeur comprise entre zéro et 360 qui définit la rotation sur 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 valeurs et AnchorY
aux AnchorX
valeurs.
La RotationY
propriété est une double
valeur comprise entre zéro et 360 qui définit la rotation sur 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 valeurs et AnchorY
aux AnchorX
valeurs.
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 valeurs et AnchorY
aux AnchorX
valeurs.
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.
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.
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.
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 à plusieurs attributs de style d’être appliqués à une VisualElement
instance. Pour plus d’informations, consultez Xamarin.Forms Classes de style.
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 Tab. La TabIndex
propriété est l’implémentation de la propriété définie sur l’interface ITabStopElement
, que la VisualElement
classe implémente.
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.
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.
La Triggers
propriété est un objet en lecture seule TriggerBase
List
. 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 aux modifications d’événement ou de propriété. Pour plus d’informations, consultez Xamarin.Forms Déclencheurs.
La Visual
propriété est une IVisual
instance qui permet aux renderers d’être créés et appliqués 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 renderer sur un composant s’applique également aux enfants de ce composant. Si aucun renderer personnalisé n’est défini sur un contrôle ou ses ancêtres, le renderer par défaut Xamarin.Forms est utilisé. Pour plus d’informations, consultez Xamarin.Forms Visual.
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 directement définie. La largeur d’un contrôle peut être demandée à l’aide de la propriété 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 requête.
La X
propriété est une valeur en lecture seule double
qui décrit la position X actuelle du contrôle.
La Y
propriété est une valeur en lecture seule double
qui décrit la position Y actuelle du contrôle.
Les méthodes suivantes sont disponibles sur la VisualElement
classe. Pour obtenir une liste complète, consultez Méthodes de l’API VisualElement.
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 tous les éléments enfants pour l’argument fourni name
et retourne l’élément qui a le nom spécifié. Si aucune correspondance n’est trouvée, null
elle est retournée.
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 les éléments qui sont hors écran ou non réalisés a un comportement non défini.
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.
Les événements suivants sont disponibles sur la VisualElement
classe. Pour obtenir une liste complète, consultez Xamarin.Forms Événements VisualElement.
L’événement Focused
est déclenché chaque fois que l’instance reçoit le VisualElement
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 l’éditeur de IsFocused
propriétés.
L’événement SizeChanged
est déclenché chaque fois que l’instance Height
ou Width
les VisualElement
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.
L’événement Unfocused
est déclenché chaque fois que l’instance perd le VisualElement
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 l’éditeur de IsFocused
propriétés.
Les plateformes Android, iOS et UWP ont toutes des unités de mesure différentes qui peuvent varier entre les appareils. Xamarin.Forms utilise une unité indépendante de la plateforme de mesure qui normalise les unités entre les appareils et les plateformes. Il y a 160 unités par pouce, ou 64 unités par centimètre, en Xamarin.Forms.
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 autorise uniquement la salle pour 100 unités, le rendu Height
du contrôle ne sera que 100. La taille rendue est affectée par l’espace disponible et les composants contenus.
Les propriétés de requête minimales incluent MinimumHeightRequest
et MinimumWidthRequest
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é par rapport à l’autre. Toutefois, le comportement de disposition lié à ces propriétés comporte quelques considérations importantes.
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 sera pas réduit. Un élément avec une valeur minimale spécifiée sera 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 suffisamment large pour contenir les deux composants à leur largeur demandée, la première BoxView
instance est considérée par le processus de disposition pour avoir une largeur minimale de 500, car aucun autre minimum valide n’est spécifié. La deuxième BoxView
instance est autorisée à effectuer un scale-down à 250 et elle sera réduite 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, la MinimumWidthRequest
valeur doit être définie sur une valeur valide, telle que 0.
Le comportement n’est pas défini lorsque la valeur minimale est supérieure à la valeur absolue. Par exemple, si WidthRequest
elle est définie 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.
Grid
les dispositions ont leur propre système pour le dimensionnement relatif des lignes et des colonnes. L’utilisation MinimumWidthRequest
ou MinimumHeightRequest
l’intérieur d’une Grid
disposition n’aura pas d’effet. Pour plus d’informations, consultez Xamarin.Forms Grid.