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 Rectanglestruct 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, LeftToRightou 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.