当前位置: 首页 > news >正文

【WPF】WPF学习之【二】布局学习

WPF布局学习

  • 常用布局
    • Grid网格布局
    • StackPanel 布局
    • Canvas
    • DockPanel布局
    • WrapPanel布局

常用布局

1、StackPanel: 学习如何使用StackPanel进行垂直和水平布局。

2、Grid: 掌握Grid的网格布局技术。

3、Canvas: 了解Canvas的绝对定位布局。

4、DockPanel: 学习DockPanel的停靠布局方式。

5、WrapPanel: 了解WrapPanel的自动换行布局。

Grid网格布局

1、作用
作用:Grid布局的作用可以理解为拆分网格布局。
2、图片示例
在这里插入图片描述

3、代码示例
以下的示例中的属性也是该布局常用的几种属性。

  <Grid>
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Button Grid.RowSpan="2" Grid.ColumnSpan="2" Background="Beige">这是跨单元格示例  </Button>
        <Button Grid.Row="3" Grid.Column="3">指定单元格</Button>
        <Button Grid.IsSharedSizeScope="True" Background="Aquamarine">共享单元格</Button>
    </Grid>

StackPanel 布局

1、作用:将布局拆分为水平或者垂直的布局
2、图片示例
在这里插入图片描述

在这里插入图片描述

3、代码示例

Orientation(布局方式):Vertical(垂直堆叠)、Horizontal(水平堆叠)
HorizontalAlignment(对齐方式):LEFT、right、center、top、bottom
 <!--<StackPanel Orientation="Vertical" HorizontalAlignment="Stretch">
        <Button >从上到下</Button>
    </StackPanel>-->
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
        <Button>从左到右</Button>
    </StackPanel>

Canvas

1、作用:绝对布局
2、图片示例
在这里插入图片描述

3、代码示例

		<Canvas Background="AliceBlue">
            <!--绝对定位布局-->
            <Button Canvas.Left="50" Canvas.Bottom="20">Canvas1  </Button>
            <Button Canvas.Left="50" Canvas.Bottom="50">Canvas2  </Button>
        </Canvas>

DockPanel布局

1、作用:停靠布局
2、图片示例
在这里插入图片描述

3、代码示例

		<DockPanel  HorizontalAlignment="Left" LastChildFill="False" >
            <!--按照控件添加顺序,自动排序并停靠-->
            <Button Width="80" Height="50">DockPanel3</Button>
            <Button Width="80" Height="50" >DockPanel1</Button>
            <Button Width="80" Height="50" DockPanel.Dock="Right">DockPanel2</Button>
        </DockPanel>

WrapPanel布局

1、作用:自动换行布局
2、图片示例
在这里插入图片描述

3、代码示例

		<WrapPanel>
            <!--自动换行布局-->
            <Button Width="400" Height="50" >    wrapPanel 1      </Button>
            <Button Width="400" Height="50" >    wrapPanel 2       </Button>
            <Button Width="400" Height="50" >    wrapPanel 3       </Button>
        </WrapPanel>

相关文章:

  • leetcode 23.合并k个升序链表
  • JVM系列(十) -垃圾收集器介绍
  • 面试题.04
  • 【Python】数据可视化之分类图
  • 【Datawhale X 李宏毅苹果书 AI夏令营】《深度学习详解》Task3 打卡
  • EvoSuite使用总结
  • 是谁还不会flink的checkpoint呀~
  • Java传输本地目录到远程服务器
  • WSL 在 Windows 上删除已经安装的 Ubuntu | WSL 再次重装 Ubuntu | cv2.imshow() 弹窗支持
  • Java语言的Netty框架+云快充协议1.5+充电桩系统+新能源汽车充电桩系统源码
  • 基于FreeRTOS的STM32多功能手表
  • Java Spring Boot 项目中的密码加密与验证开发案例手册
  • Redis集群
  • C++11 ---- 右值引用和移动语义
  • SpringBoot依赖之Spring Boot DevTools热部署开发增效工具
  • 【Spring Boot 3】【Web】解析获取HTTP请求参数
  • 2. 卷积神经网络(CNN):图像识别的核心技术
  • MySQL 数据库管理与操作指南
  • k8s集群本地搭建,使用gitlab、harbor、jenkens、cicd来实现devops自动化构建
  • c++中析构函数是否一定要为虚函数
  • 商务部:4月份以来的出口总体延续平稳增长态势
  • 传智教育连续3个交易日跌停:去年净利润由盈转亏
  • 汽车爆炸致俄军中将死亡嫌疑人被羁押,作案全过程披露
  • 世联行:2024年营业收入下降27%,核心目标为“全面消除亏损公司和亏损项目”
  • 邮轮、无人机、水上运动……上海多区推动文旅商体展融合发展
  • 贵州通报9起群众身边不正之风和腐败问题典型案例