You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WinUI 3中的Grid控件占满容器的全部高度?

解决Grid无法占满容器全部高度的问题

问题出在外层的StackPanel上——它的垂直布局逻辑是仅为子元素分配其所需的最小高度,哪怕你给内部Grid设置了VerticalAlignment="Stretch"也无法生效,因为StackPanel不会将剩余空间分配给子元素。

修复方案(推荐)

直接将外层的StackPanel替换为Grid,Grid默认会让子元素填充所在容器的全部可用空间:

<Grid Grid.Row="1" Background="AliceBlue">
    <Grid VerticalAlignment="Stretch" Background="Yellow">
        
    </Grid>
</Grid>

原理说明

  • StackPanel的核心布局逻辑是沿排列方向(垂直/水平)依次堆叠子元素,仅满足子元素的基础空间需求,不支持子元素填充剩余空间。
  • Grid则会根据单元格的定义(默认是占满全部可用空间),让子元素自动填充所在单元格的所有空间,无需额外设置就能实现你要的效果。

内容的提问来源于stack exchange,提问作者jasonzs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:32:27