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

MAUI(.NET7)中SfDataGrid与StackLayout内容重叠问题咨询

解决SfDataGrid与StackLayout内容重叠问题

问题根源

你当前的Grid没有定义行布局规则,SfDataGrid会默认占据Grid的所有可用空间,而StackLayout指定的Grid.Row="3"在无行定义的情况下,实际位置会和表格区域重叠,导致控件覆盖表格内容。

修复方案

给Grid添加明确的RowDefinitions划分区域,同时给SfDataGrid指定对应的行位置,确保两者各占独立空间:

<Grid>
    <!-- 定义行规则:第一行用*占满剩余空间,第二行用Auto自适应控件高度 -->
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <!-- 表格放在第0行,占据上方所有可用空间 -->
    <syncfusion:SfDataGrid Grid.Row="0">
        <syncfusion:SfDataGrid.Columns>
            <!-- 你的列定义内容 -->
        </syncfusion:SfDataGrid.Columns>
    </syncfusion:SfDataGrid>
    
    <!-- 底部筛选控件放在第1行,自适应自身高度 -->
    <StackLayout Grid.Row="1" Grid.Column="0">
        <!-- 你的下拉框、筛选控件内容 -->
    </StackLayout>
</Grid>

关键说明

  • RowDefinitions中的*代表占用Grid剩余的全部空间,适合表格这类需要滚动展示的内容;Auto代表根据内部控件高度自动调整,适合底部固定的筛选栏。
  • 给SfDataGrid加上Grid.Row="0",明确它只占据第一行区域,不会和底部的StackLayout(Grid.Row="1")产生重叠。
  • 如果需要更复杂的布局(比如中间还有其他元素),可以继续添加RowDefinition,调整Height属性(比如固定高度Height="100")来适配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 03:01:01