这应该是世界上最简单的事情。我有一个WPF DataGrid,其中的行数超出了视图的容纳范围。我希望DataGrid填充窗口内的可用空间,并在必要时显示垂直滚动条。我可以在WinForms或HTML中在几秒钟内完成此操作。
如果我给DataGrid设置一个固定的高度,那么我会得到垂直的滚动条,但是这不允许调整窗口的大小。
我见过的最好的解决方案是将DataGrid的Height绑定到父窗口的ActualHeight。但是我不希望它达到窗口的整个高度,因为我在窗口中还有其他东西。我可以进行计算,但这似乎非常复杂,并且每次向窗口添加新功能时都会改变。
有人知道一个简单的答案吗?
更新:
以下是一些代码:
<StackPanel>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="_Open" Command="{Binding Path=OpenCommand}"/>
<Separator/>
<MenuItem Header="_Recent Files" ItemsSource="{Binding MRUItems}"/>
<Separator/>
<MenuItem Header="E_xit" Command="{Binding ExitCommand}"/>
</MenuItem>
</Menu>
</DockPanel>
<DataGrid ItemsSource="{Binding Path=WordUsage}" >
<DataGrid.Columns>
<DataGridTextColumn Header="Order" Binding="{Binding Order}"/>
<DataGridTextColumn Header="Word" Binding="{Binding Word}"/>
<DataGridTextColumn Header="Count" Binding="{Binding Count}"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>