我得到了一個包含兩行網格的用戶控件。在每一行中都會有一個列表框。問題是,當項目被添加到列表框中時,控件只是繼續展開,因此第二行中的包含項目和列表框控件不再可見。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。
也許我使用了錯誤的控件/容器?