Lire en anglais

Partager via


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.

Propriétés

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.

Background

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.

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

Méthodes

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.

Événements

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.

Unités de mesure

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.

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 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.

Propriétés minimales de la requête

Les propriétés de requête minimales incluent MinimumHeightRequest et MinimumWidthRequestsont 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.

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 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.

Valeurs minimales et absolues des propriétés

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.

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 l’intérieur d’une Grid disposition n’aura pas d’effet. Pour plus d’informations, consultez Xamarin.Forms Grid.