WPF 深入系列.2.布局系统.布局控件.Grid

WPF (Windows Presentation Foundation) 中的 Grid 控件是一个非常强大的布局控件,它允许你在行和列中定义子控件的布局。Grid 的使用可以说是 WPF 中最常见和重要的技能之一,以下是其详细使用教程:

1. 基本概念

Grid 是一种基于网格的布局系统,它将布局区域划分为行和列。通过设置控件在 Grid 中的 RowColumn 属性,你可以将控件放置在特定的行和列中。

2. 创建 Grid

要创建一个 Grid,你可以在 XAML 中定义它,并指定它的行和列

复制代码
<!--定义网格,此处显示了网格线-->
<Grid ShowGridLines="True">
    <Grid.RowDefinitions>
        <RowDefinition Height="auto"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="120"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
        <ColumnDefinition Width="2*"> </ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Button Grid.Row="0" Grid.Column="0" FontSize="16">Top Left</Button>
    <Button Grid.Row="0" Grid.Column="1" FontSize="16">Middle Left</Button>
    <Button Grid.Row="1" Grid.Column="2" FontSize="16" Margin="8">Button Right</Button>
    <Button Grid.Row="1" Grid.Column="1" FontSize="16" HorizontalAlignment="Left">Button Middle</Button>
</Grid>
在上面的代码中,Grid 有两行和两列:
RowDefinition 和 ColumnDefinition 用于定义行和列。

Height="Auto" 表示该行的高度根据内容自适应。
Height="*" 表示该行将占用剩余的空间。
Width="120" 定义列的宽度为120像素。
Width="*" 表示该列将占用剩余的空间1/3。

Width="2*" 表示该列将占用剩余的空间2/3。
将控件放入 Grid 中时,可以使用 Grid.RowGrid.Column 附加属性来指定控件所在的行和列。
有时候你可能需要让一个控件跨越多个行或列,这时可以使用 Grid.RowSpanGrid.ColumnSpan 属性。

最终效果如下:

第二行 第二列 设置了HorizonAlign=Left 同时大小是Auto ,大小自适应,水平居左对齐

第二行 第三列 设置了Margin 属性控制外边距

相关推荐
故渊at8 小时前
第二板块:Android 四大组件标准化学理 | 第十二篇:四大组件全景总结与系统服务(System Server)架构
android·架构·wpf·四大组件·system service
伶俜6611 小时前
# [特殊字符] 零基础学 ArkUI 数据持久化(专题三):5 种存储方案深度对比
学习·华为·wpf·harmonyos
IT策士12 小时前
Redis 从入门到精通:数据结构String 与键管理
数据结构·redis·wpf
AC赳赳老秦12 小时前
技术文章素材收集自动化:用 OpenClaw 自动爬取行业资讯、技术热点、优质文章
运维·开发语言·python·自动化·wpf·deepseek·openclaw
加号313 小时前
【WPF】 Storyboard 故事板动画设计深度解析
wpf
xiaoshuaishuai813 小时前
C# Avalonia 依赖属性与WPF的区别
开发语言·c#·wpf
大G的笔记本1 天前
生产级 Spring Boot 网关简单实现方案
wpf
稷下元歌2 天前
七天学会plc加机器视觉之AI 接入 外设模块开发全详细操作文档(全程配套视频按文档实操)
python·sql·qt·贪心算法·r语言·wpf·时序数据库
happyprince3 天前
11-Hugging Face Transformers 分布式与并行系统深度分析
分布式·c#·wpf
加号33 天前
【WPF】 基于 Canvas 读取并渲染 DXF 文件的技术指南
c#·wpf