Je voudrais faire une fonction ListBox
comme Grid
. Chaque fois qu'un nouvel élément est ajouté, il devrait ressembler à un nouveau GridRow
a été ajouté (avec une hauteur d'étoile). Donc, s'il y a deux objets, ils occuperont chacun la moitié de l'espace disponible. À un certain moment la ligne Grid
sera plus petite que les éléments MinHeight
à quel point le Grid
élargira et contenant ScrollViewer peut botter.Comment faire une extension ListBoxItem verticalement
Vous verrez ce comportement avec une grille à l'intérieur d'un ScrollViewer
. Cependant, je dois obtenir ce travail avec un ListBox
donc je peux juste mettre le ItemsSource
, créer un DataTemplate
et passer à autre chose.
Le problème avec la valeur par défaut ListBox
ItemsPanel
est qu'il ne permettra pas à mon premier élément de se développer pour remplir tout l'espace disponible.
MISE À JOUR: Voici le code pour le faire fonctionner:
<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Merci qui a aidé, je ne me la grille uniforme tellement que je n'y ai jamais pensé. – Kelly