我得到了一个包含两行网格的用户控件。在每一行中都会有一个列表框。问题是,当项目被添加到列表框中时,控件只是继续展开,因此第二行中的包含项目和列表框控件不再可见。Wpf listbox调整大小问题
如何确保列表框控件在没有硬编码高度的情况下不会展开?每行应具有相同的大小,并且在用户调整窗口大小时控件应可调整大小。
我试过很多东西和不同的容器,但还没有解决这个问题。
示例代码:
<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>
列表框项目是硬编码在这个例子中,但他们会在运行时绑定的时候,我得到了调整大小问题就迎刃而解了。因为除usercontrol中的网格之外还有其他控件,因此使用dockpanel。
也许我使用了错误的控件/容器?