machen Ich möchte eine ListBox
Funktion wie eine Grid
machen. Jedes Mal, wenn ein neues Objekt hinzugefügt wird, sollte es aussehen wie ein neues GridRow
wurde hinzugefügt (mit einer Höhe von Stern). Wenn also zwei Elemente vorhanden sind, nehmen sie jeweils die Hälfte des verfügbaren Speicherplatzes ein. An einem gewissen Punkt der Grid
Reihe wird kleiner sein als die Elemente MinHeight
, an welchem Punkt der Grid
expandieren und enthält Scroll kann kicken.Wie kann ich eine ListBoxItem Strecke vertikal
Sie dieses Verhalten mit einem Gitter in einem ScrollViewer
sehen. Allerdings muss ich dies mit einer ListBox
arbeiten, so kann ich nur die ItemsSource
setzen, erstellen Sie eine DataTemplate
und weitermachen.
Das Problem mit dem Standard ListBox
ItemsPanel
ist, dass es nicht mein erstes Element erweitern, um den gesamten verfügbaren Speicherplatz zu füllen.
UPDATE: Hier ist der Code ist es zum Laufen zu bringen:
<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Dank relevant erscheint, die geholfen haben, ich nicht verwenden das einheitliche Raster viel, also habe ich nie darüber nachgedacht. – Kelly