Partager via


Xamarin.Forms Dispositions

Xamarin.Forms Les dispositions sont utilisées pour composer des contrôles d’interface utilisateur dans des structures visuelles.

Les Layout classes et Layout<T> les classes dans Xamarin.Forms sont des sous-types spécialisés de vues qui agissent en tant que conteneurs pour les vues et d’autres dispositions. La Layout classe elle-même dérive de View. Un Layout dérivé contient généralement une logique pour définir la position et la taille des éléments enfants dans Xamarin.Forms les applications.

Xamarin.Forms Types de disposition

Les classes dérivées Layout peuvent être divisées en deux catégories :

Dispositions avec contenu unique

Ces classes dérivent de Layout, qui définit Padding et IsClippedToBounds propriétés :

Type Description Apparence
ContentView ContentView contient un enfant unique défini avec la Content propriété. La Content propriété peut être définie sur n’importe quel View dérivé, y compris d’autres Layout dérivés. ContentView est principalement utilisé comme élément structurel et sert de classe de base à Frame.

Guide de documentation de l’API /
Exemple ContentView
Code C# pour cette page / XAML
Frame La Frame classe dérive et ContentView affiche une bordure ou un cadre autour de son enfant. La Frame classe a une valeur par défaut Padding de 20, et définit BorderColorégalement , CornerRadiuset HasShadow les propriétés.

Guide de documentation de l’API /
Exemple de frame
Code C# pour cette page / XAML
ScrollView ScrollView est capable de faire défiler son contenu. Définissez la Content propriété sur une vue ou une disposition trop grande pour s’adapter à l’écran. (Le contenu d’un ScrollView est très souvent un StackLayout.) Définissez la propriété pour indiquer si le Orientation défilement doit être vertical, horizontal ou les deux.

Guide de documentation de l’API /
Exemple ScrollView
Code C# pour cette page / XAML
TemplatedView TemplatedView affiche le contenu avec un modèle de contrôle et est la classe de base pour ContentView.

Guide de documentation de l’API /
Exemple TemplatedView
ContentPresenter ContentPresenter est un gestionnaire de disposition pour les vues modèleées, utilisé dans un ControlTemplate pour marquer l’emplacement où le contenu à présenter apparaît.

Guide de documentation de l’API /
Exemple ContentPresenter

Dispositions avec plusieurs enfants

Ces classes dérivent de Layout<View>:

Type Description Apparence
StackLayout StackLayout positionne les éléments enfants dans une pile horizontalement ou verticalement en fonction de la Orientation propriété. La Spacing propriété régit l’espacement entre les enfants et a la valeur par défaut 6.

Guide de documentation de l’API /
Exemple StackLayout
Code C# pour cette page / XAML
Grid Grid positionne ses éléments enfants dans une grille de lignes et de colonnes. La position d’un enfant est indiquée à l’aide des propriétésRow jointes, Columnet RowSpanColumnSpan.

Guide de documentation de l’API /
Exemple de grille
Code C# pour cette page / XAML
AbsoluteLayout AbsoluteLayout positionne les éléments enfants à des emplacements spécifiques par rapport à son parent. La position d’un enfant est indiquée à l’aide des propriétésLayoutBounds jointes et LayoutFlags. Il AbsoluteLayout est utile d’animer les positions des vues.

Guide de documentation de l’API /
Exemple AbsoluteLayout
Code C# pour cette page XAML page / avec code-behind
RelativeLayout RelativeLayout positionne les éléments enfants par rapport à eux-mêmes RelativeLayout ou à leurs frères. La position d’un enfant est indiquée à l’aide des propriétés jointes définies sur des objets de type Constraint et BoundsConstraint.

Guide de documentation de l’API /
Exemple relativeLayout
Code C# pour cette page / XAML
FlexLayout FlexLayoutest basé sur le module de disposition de boîte flexible CSS, communément appelé disposition flexible ou flex-box. FlexLayout définit six propriétés pouvant être liées et cinq propriétés pouvant être liées qui permettent aux enfants d’être empilés ou encapsulés avec de nombreuses options d’alignement et d’orientation.

Guide de documentation de l’API /
Exemple FlexLayout
Code C# pour cette page / XAML