如何制作WPF布局网格填充所有可用的垂直空间?
问题描述:
我有一个垂直StackPanel
两个Grid
元素的表单。我想象底部Grid
将自动填满所有可用的空间,因为我希望它,但我已经在Grid
行设置的高度:如何制作WPF布局网格填充所有可用的垂直空间?
<RowDefinition Height="20" />
<RowDefinition Height="*" />
<RowDefinition Height="25" />
在顶部和底部的短行是标签和按钮, 分别。我试图设置网格的VerticallAllignment
到Stretch
,无济于事。
如何将底部网格的底部固定到窗体的底部,而不管窗体的高度如何?
答
实际上,您不能使用StackPanel来填充所有可用的垂直空间。
但是你可以使用一个DockPanel中:
<DockPanel LastChildFill="True">
<Grid DockPanel.Dock="Top"/>
<Grid />
</DockPanel>
你也可以使用一个网格:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0"/>
<Grid Grid.Row="1"/>
</Grid>
+0
'LastChildFill =“True”是默认值,所以不需要明确设置它。 – Clemens
垂直的StackPanel从不垂直调整大小的孩子。改为使用具有两行的外部网格或DockPanel。 – Clemens