Chciałbym, aby funkcja ListBox
funkcjonowała jak Grid
. Za każdym razem, gdy dodawany jest nowy element, powinien wyglądać jak nowy GridRow
został dodany (z wysokością gwiazdy). Więc jeśli są dwa przedmioty, każdy z nich zajmie połowę dostępnej przestrzeni. W pewnym momencie Grid
rząd będzie mniejszy niż elementy MinHeight
w którym to momencie Grid
rozszerzy i zawierający ScrollViewer można kopać.Jak mogę rozciągnąć ListBoxItem w pionie
Zobaczysz to zachowanie z siatką wewnątrz ScrollViewer
. Jednak muszę uzyskać tę pracę z ListBox
, więc mogę po prostu ustawić ItemsSource
, utworzyć DataTemplate
i przejść dalej.
Problem z domyślnym ListBox
ItemsPanel
polega na tym, że nie pozwala on na rozwinięcie pierwszego elementu w celu wypełnienia całego dostępnego miejsca.
UPDATE: Oto kod, aby dostać pracy:
<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Dzięki które pomogły, nie używam jednolita siatka, więc nigdy o tym nie myślałem. – Kelly