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

如何让WindowsCommunityToolKit的SettingsCard垂直水平铺满窗口?

解决SettingsCard垂直铺满窗口并让DataGrid显示滚动条的方案

让SettingsCard垂直铺满窗口

给SettingsCard显式设置VerticalAlignment="Stretch",确保它在父Grid中占据全部垂直空间(父Grid不要设置固定行高限制)。

让DataGrid内容超出时显示滚动条

核心是限制DataGrid的高度范围,避免它无限拉伸容器。可以通过两种方式实现:

方式1:嵌套ScrollViewer

将DataGrid放在ScrollViewer中,自动处理滚动逻辑:

<Grid>
    <controls:SettingsCard 
        ContentAlignment="Left"
        VerticalAlignment="Stretch">
        <ScrollViewer VerticalScrollBarVisibility="Auto">
            <DataGrid />
        </ScrollViewer>
    </controls:SettingsCard>
</Grid>

方式2:直接配置DataGrid属性

给DataGrid设置滚动属性,并让它占满SettingsCard的垂直空间:

<Grid>
    <controls:SettingsCard 
        ContentAlignment="Left"
        VerticalAlignment="Stretch">
        <DataGrid 
            VerticalScrollBarVisibility="Auto"
            VerticalAlignment="Stretch" />
    </controls:SettingsCard>
</Grid>

注意事项

如果SettingsCard内部默认使用StackPanel作为内容容器(这类容器会随内容无限扩展),需要把它替换为Grid,确保DataGrid能被限制在容器范围内:

<Grid>
    <controls:SettingsCard 
        ContentAlignment="Left"
        VerticalAlignment="Stretch">
        <Grid>
            <DataGrid 
                VerticalScrollBarVisibility="Auto"
                VerticalAlignment="Stretch" />
        </Grid>
    </controls:SettingsCard>
</Grid>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:18:12