首页 文章

如何制作WPF布局网格填充所有可用的垂直空间?

提问于
浏览
-2

我有一个表格,在垂直 StackPanel 中有两个 Grid 元素 . 我会想象底部 Grid 会自动填充所有可用空间,如我所愿,但我已经设置了 Grid 行的高度:

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

顶部和底部的短行分别用于标签和按钮 . 我试过将网格的 VerticallAllignment 设置为 Stretch ,但无济于事 .

无论表单的高度如何,如何将底部网格的底部锚定到表单的底部?

1 回答

  • 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>
    

相关问题