TOC

This article has been localized into French by the community.

Panels:

Introduction aux Panels WPF

Les panels sont parmis les contrôles les plus importants du WPF. Ils agissent comme des conteneurs pour les autres contrôles, et pilotent l'agencement du contenu de vos fenêtres et de vos pages. Etant donné qu'une fenêtres ne peux contenir qu'UN SEUL contrôle, un panel est souvent utilisé pour diviser l'espace en sous-ensembles, chacun pouvant contenir un contrôle ou un autre panel (lui même étant bien sûr un contrôle).

De très nombreux types de panels sont disponibles, chacun ayant une façon particulière de gérer la disposition et les contrôles enfants. Choisir le panel approprié est essentiel pour obtenir la disposition et le comportements souhaités. Et particulièrement lorsque vous débutez en WPF, ceci peut-être une tâche ardue. Les paragraphes suivants décrivent chacun des panels de manière synthétique, et vous donneront une idée de quand les utiliser. Après ça, passez aux chapitres suivants, où chacun des panels est décrit en détails.

Canvas

Un panel assez simple, qui reproduit la façon de faire des WinForms. Il permet de spécifier des coordonnées pour chaque contrôle enfant, vous laissant une totale maîtrise de la disposition. Cependant ce n'est pas très flexible parce que vous aurez à disposer manuellement chaque contrôle en vous assurant qu'ils sont alignés de la façon désirée. Utilisez le (seulement) lorsque vous voulez une maîtrise totale de la position du contenu et une disposition figée.

WrapPanel

Le WrapPanel positionnera chacun des contrôles enfants les uns après les autres, horizontalement (par défaut) ou verticalement, jusqu'à ce qu'il n'y ait plus d'espace, auquel cas il continuera d'aligner les contrôles sur une nouvelle ligne (ou une nouvelle colonne). Utilisez-le quand vous voulez une liste horizontale ou verticale qui se déroule automatiquement lorsqu'il n'y a plus d'espace.

StackPanel

Le StackPanel agit presque comme le WrapPanel, mais au lieu d'afficher les contrôles enfants sur une autre ligne ou colonne, il va simplement agrandir la zone d'affichage tant que c'est possible. Tout comme le WrapPanel, l'orientation peut être verticale ou horizontale, mais au lieu d'ajuster la hauteur ou la largeur des contrôles enfants en fonction du plus grand, chaque enfants est étiré pour occuper toute la hauteur ou la largeur disponible. Utilisez le StackPanel lorsque vous voulez une liste de contrôles qui occupe toute la place disponible sans retour à la ligne/colonne.

DockPanel

Le DockPanel vous permet d'accrocher les contrôles enfants aux bords haut, bas, gauche et droite. Par défaut, le dernier contrôle enfant remplira tout l'espace restant si aucune information de position d'accroche n'a été spécifiée. Il est possible d'obtenir le même comportement avec le Grid panel, mais pour des situations simples le DockPanel est plus facile à utiliser. Utilisez le DockPanel lorsque vous voulez accrocher un ou plusieurs contrôles à un bord, par exemple pour diviser la fenêtre en différentes zones.

Grid ou Grille

Le Grid (ou grille) est probablement le panel le plus complexe. Un Grid peut contenir plusieurs lignes et colonnes. Vous définissez une hauteur pour chaque ligne et une largeur pour chaque colonne. Ces dimensions peuvent être spécifiées en pixels, en pourcentage de l'espace disponible, ou en automatique (la ligne ou la colonne se redimensionnera alors dynamiquement à la taille de son contenu). Utilisez la grille quand aucun des autres panels n'est adapté, par exemple lorsque vous avez besoin de plusieurs colonnes de différentes tailles combinées avec d'autres panels.

UniformGrid

Le UniformGrid est comme le Grid et permet d'avoir plusieurs lignes et plusieurs colonnes. La différence étant que toutes les lignes et toutes les colonnes ont la même taille! Utilisez le UnifromGrid lorsque vous voulez le même comportement qu'un Grid, mais que vous n'avez pas besoin de colonnes et de lignes de différentes tailles.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!