Ich habe ein Benutzer-Steuerelement mit einem Raster mit zwei Zeilen. In jeder Zeile wird eine Listbox angezeigt. Das Problem besteht darin, dass beim Hinzufügen von Elementen zur Listbox das Steuerelement einfach erweitert wird, sodass die enthaltenen Elemente und das Listbox-Steuerelement in Zeile zwei nicht mehr angezeigt werden.Wpf listbox Größe ändern Problem
Wie stelle ich sicher, dass die Listbox-Steuerelemente nicht erweitert wird, ohne eine Höhe hardcoding? Jede Zeile sollte dieselbe Größe haben und die Steuerelemente sollten in der Größe veränderbar sein, wenn der Benutzer die Größe des Fensters ändert.
Ich habe eine Menge Dinge und verschiedene Container ausprobiert, aber das Problem noch nicht gelöst.
Beispielcode:
<ScrollViewer HorizontalScrollBarVisibility="Visible">
<DockPanel LastChildFill="True" >
<Grid DockPanel.Dock="Right">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GroupBox Header="Allowed Countries" Grid.Column="0" Grid.Row="0">
<ListBox VerticalAlignment="Top" >
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
</ListBox>
</GroupBox>
<GroupBox Header="Allowed Languages" Grid.Column="0" Grid.Row="1">
<ListBox VerticalAlignment="Top" >
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
<ListBoxItem Content="Item 1" />
</ListBox>
</GroupBox>
/Grid>
</DockPanel>
</ScrollViewer>
Die Listbox Artikel sind hartcodiert in diesem Beispiel aber sie werden zur Laufzeit binded werden, wenn ich das Resize-Problem gelöst bekommen. Das Dockpanel wird verwendet, da es andere Steuerelemente als das Raster in der Benutzersteuerung gibt.
Vielleicht verwende ich das falsche Steuerelement/Container?