Mi piacerebbe creare una funzione ListBox
come una Grid
. Ogni volta che viene aggiunto un nuovo articolo dovrebbe apparire come un nuovo GridRow
aggiunto (con un'altezza di stella). Quindi se ci sono due elementi, ognuno di essi occuperà metà dello spazio disponibile. Ad un certo punto la riga Grid
sarà più piccolo degli elementi MinHeight
a questo punto il Grid
si espanderà e uno ScrollViewer contenente può calciare in.Come posso fare un allungamento ListBoxItem verticalmente
Si vedrà questo comportamento con una griglia all'interno di un ScrollViewer
. Tuttavia, ho bisogno di farlo funzionare con un ListBox
così posso solo impostare il ItemsSource
, creare un DataTemplate
e andare avanti.
Il problema con il valore predefinito ListBox
ItemsPanel
è che non consente al mio primo elemento di espandersi per riempire tutto lo spazio disponibile.
UPDATE: Ecco il codice per farlo funzionare:
<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Grazie che hanno contribuito, io non uso la griglia uniforme tanto non ci ho mai pensato. – Kelly