Grid适合二维布局场景,如表单对齐、卡片网格、跨行列内容及动态空间分配;StackLayout适合线性排列,如垂直列表、水平工具栏,或作为Grid内子容器。
选Grid还是StackLayout,关键看界面结构是否需要二维控制。如果只是简单上下或左右排几个按钮、文字,StackLayout够用又轻量;如果要对齐多行多列、跨区域合并、响应不同屏幕尺寸,Grid更合适。
Grid本质是表格式布局,靠行列坐标精确定位子元素。适合以下情况:
定义方式示例:
第一列占剩余宽度一半,第二列固定100 DIU,第三列随内容自适应;行同理,第二行撑满剩余高度。
StackLayout是线性堆叠,结构直白、渲染快,适合顺序流式内容:
注意:不要用多个StackLayout嵌套去模拟Grid效果,那样会增加渲染层级、影响性能,也难维护。官方推荐优先用Grid处理二维需求。
多数页面不是非此即彼,而是组合使用:

基本上就这些。不复杂但容易忽略的是:别为了“看起来像Grid”硬套StackLayout,该用Grid时就用,它在MAUI里已足够成熟稳定。