Partager via


Comment : dimensionner un ListBoxItem pour remplir le ListBox

Mise à jour : novembre 2007

Contrôle la taille différemment à l'intérieur des conteneurs. Par exemple, un Button dans un StackPanel ajuste la taille en fonction de la largeur totale du StackPanel ; en revanche un Button dans un ListBox ajuste la taille en fonction du contenu de Button. Si vous voulez que des contrôles Button à l'intérieur d'un ListBox s'étirent de manière à occuper tout l'espace disponible, vous devez créer un style qui étire le ListBoxItem et l'appliquer au ItemContainerStyle du ListBox. L'exemple suivant illustre la procédure à suivre pour réaliser cette opération.

Exemple

Dim style As Style = New Style()
style.Setters.Add(New Setter(ListBoxItem.HorizontalContentAlignmentProperty, _
     HorizontalAlignment.Stretch))
Dim lb As ListBox = New ListBox()
lb.ItemContainerStyle = style
Dim lbi1 As ListBoxItem = New ListBoxItem()
Dim btn As Button = New Button()
btn.Content = "Button as styled list box item."
lbi1.Content = (btn)
lb.Items.Add(lbi1)
Style style = new Style(typeof(ListBoxItem));
style.Setters.Add(new Setter(ListBoxItem.HorizontalContentAlignmentProperty,
     HorizontalAlignment.Stretch));
ListBox lb = new ListBox();
lb.ItemContainerStyle = style;
ListBoxItem lbi1 = new ListBoxItem();
Button btn = new Button();
btn.Content = "Button as styled list box item.";
lbi1.Content = (btn);
lb.Items.Add(lbi1);