2016-11-11 78 views
-2

我有一個垂直StackPanel兩個Grid元素的表單。我想象底部Grid將自動填滿所有可用的空間,因爲我希望它,但我已經在Grid行設置的高度:如何製作WPF佈局網格填充所有可用的垂直空間?

<RowDefinition Height="20" /> 
<RowDefinition Height="*" /> 
<RowDefinition Height="25" /> 

在頂部和底部的短行是標籤和按鈕, 分別。我試圖設置網格的VerticallAllignmentStretch,無濟於事。

如何將底部網格的底部固定到窗體的底部,而不管窗體的高度如何?

+2

垂直的StackPanel從不垂直調整大小的孩子。改爲使用具有兩行的外部網格或DockPanel。 – Clemens

回答

1

實際上,您不能使用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