Par défaut, la ListBox affiche ses éléments empilés les uns au dessous des autres verticalement.
Une Liste horizontale
Il peut être intéressant d'afficher les éléments à l'horizontal, mais aucune propriété n'est acccessible directement à partir de la ListBox. Il est nécessaire de modifier le template des ItemsPanel pour modifier l'orientation de la liste.
Sélectionnez la liste, faites un clic droit et sélectionnez Edit Other Template / Edit Layout of Items (ItemsPanel) / Edit a copy afin d'accéder au VirtualizingStackPanel qui gère l'orientation des éléments. Modifiez sa propriété orientation de vertical à horizontal.
Une liste sur plusieurs colonnes
Si vous avez besoin d'une liste sur plusieurs colonnes, et que les différents panels vous sont familiers, vous aurez logiquement l'intention de mettre un WrapPanel à la place du VirtualizingStackPanel. Seulement si vous vous contentez de cela, le résultat ressemblera à ça :
La raison est simple : un WrapPanel affiche ses éléments de gauche à droite puis de haut en bas. Si il n'est pas contraint sur la largeur, il va s'étendre autant que nécessaire et afficher les items sur une seule ligne sans jamais revenir à la ligne. Pour éviter ce comportement, il suffit de désactiver la scrollbar horizontale de la ListBox en affectant la valeur "Disabled" à la propriété "HorizontalScrollBarVisibility".
Merci, ce petit tuto est vraiment utile.
Rédigé par: guigui | dimanche 04 janvier 2009 à 16h40