Me gustaría hacer una función ListBox
como Grid
. Cada vez que se agrega un nuevo elemento, debe verse como si se hubiera agregado un nuevo GridRow
(con una altura de estrella). Entonces, si hay dos elementos, cada uno ocupará la mitad del espacio disponible. En algún momento la fila Grid
será más pequeño que los artículos MinHeight
momento en el que el Grid
se expandirá y un ScrollViewer que contiene puede patear.¿Cómo puedo hacer que un ListBoxItem se alargue verticalmente
Verá este comportamiento con una rejilla dentro de una ScrollViewer
. Sin embargo, necesito hacer que esto funcione con un ListBox
, así que puedo configurar el ItemsSource
, crear un DataTemplate
y seguir.
El problema con el valor predeterminado ListBox
ItemsPanel
es que no permitirá que mi primer elemento se expanda para ocupar todo el espacio disponible.
ACTUALIZACIÓN: Aquí está el código para que funcione:
<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Gracias que ayudaron, yo no uso la grilla uniforme mucho así que nunca pensé en eso. – Kelly