WPF_布局基础

布局容器

Grid

定义由列和行组成的灵活的网格区域。

XML 复制代码
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>

XML 复制代码
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

背景

XML 复制代码
        <Border Grid.Row="0" Grid.Column="0" Background="Red"/>
        <Border Grid.Row="0" Grid.Column="1" Background="Blue"/>
        <Border Grid.Row="1" Grid.Column="0" Background="Green"/>
        <Border Grid.Row="1" Grid.Column="1" Background="Yellow"/>

尺寸

自动适应:以所在行的元素最高尺寸为标准来定义行高。

绝对尺寸:给指定数值或者比例来定义行高。

跨行跨列:类似合并方格。

StackPanel

将子元素排列成水平或垂直的一行(默认:垂直)。

WrapPanel

将子元素按从左到右的顺序定位,将内容分到其包含框边缘的下一行(默认:水平排列)。

DockPanel

将子内容停靠在布局容器的边缘。

UniformGrid

提供一种在网格(网格中的所有单元格都具有相同的大小)中排列内容的方法。

案例

XML 复制代码
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <Border Background="#7671D8"/>

        <Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="200"/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            
            <Border Background="Blue"/>

            <Grid Grid.Column="1">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>

                <Grid.RowDefinitions>
                    <RowDefinition Height="0.8*"/>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>

                <Border Margin="5" Grid.Column="0" Background="#BCC2FA"/>
                <Border Margin="5" Grid.Column="1" Background="#5DA8CF"/>
                <Border Margin="5" Grid.Column="2" Background="#DF7FCF"/>
                <Border Margin="5" Grid.Column="3" Background="#4FB8B7"/>
                <Border Margin="5" Grid.Column="4" Background="#E07A7D"/>

                <Border Grid.Row="1" Grid.ColumnSpan="3" Background="red" Margin="5"/>
                <Border Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Background="Yellow" Margin="5"/>
                <Border Grid.Row="2" Grid.ColumnSpan="3" Background="Blue" Margin="5"/>
                <Border Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="2" Background="Green" Margin="5"/>

            </Grid>

        </Grid>
    </Grid>
相关推荐
Xin_ye1008623 分钟前
C# 零基础到精通教程 - WPF 专题三:高级控件与自定义控件
开发语言·c#·wpf
Xin_ye100863 小时前
C# 零基础到精通教程 - WPF 深度专题:自定义布局与性能优化
开发语言·c#·wpf
小满Autumn3 小时前
WPF 依赖属性速查手册
笔记·c#·wpf·上位机·mvvm
Xin_ye100863 小时前
C# 零基础到精通教程 - WPF 深度专题:3D 图形与视觉增强
开发语言·c#·wpf
加号31 天前
【WPF】 自定义 Image 控件实现图像缩放与平移
wpf
闪电悠米1 天前
黑马点评-分布式锁-02_simple_redis_lock_setnx
java·数据库·spring boot·redis·分布式·缓存·wpf
闪电悠米1 天前
黑马点评-分布式锁-03_lua_atomic_unlock
java·数据库·分布式·缓存·oracle·wpf·lua
多巴胺耐受2 天前
【WPF】炫酷的科技报警弹窗
科技·c#·wpf
Xin_ye100862 天前
C# 零基础到精通教程 - WPF 专题二:数据绑定与 MVVM
开发语言·c#·wpf
Xin_ye100862 天前
C# 零基础到精通教程 - WPF 专题一:WPF 入门与 XAML 基础
c#·wpf