当前位置: 首页 > 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>
http://www.lryc.cn/news/431915.html

相关文章:

  • KEIL中编译51程序 算法计算异常的疑问
  • pikachu文件包含漏洞靶场
  • 基于DPU与SmartNIC的K8s Service解决方案
  • SLM561A​​系列 60V 10mA到50mA线性恒流LED驱动芯片 为智能家居照明注入新活力
  • Requests库对session的支持
  • 利用深度学习实现验证码识别-2-使用Python导出ONNX模型并在Java中调用实现验证码识别
  • 如何通过Spring Cloud Consul增强微服务安全性和可靠性
  • 无代码搭建小程序zion
  • 【南方科技大学】CS315 Computer Security 【Lab1 Packet Sniffing and Wireshark】
  • 【人工智能/机器学习/机器人】数学基础-学习笔记
  • 视频安防监控LntonAIServer安防管理平台抖动检测和过亮过暗检测
  • 网络模型及协议介绍
  • 手撕HashMap源码
  • OceanBase block_file与log过大 的问题
  • 【Focal Loss 本质】
  • 端口安全老化细节
  • 【C++】—— string 模拟实现
  • 详解TensorRT的C++高性能部署以及C++部署Yolo实践
  • 手机如何切换网络IP地址:‌方法详解与操作指南‌
  • 南通网站建设手机版网页
  • macos系统内置php文件列表 系统自带php卸载方法
  • 微信小程序认证和备案
  • C++复习day05
  • python数值误差
  • 基于FPGA的OV5640摄像头图像采集
  • CDN ❀ Http协议标准缓存字段梳理
  • 浅谈NODE的NPM命令和合约测试开发工具HARDHAT
  • k8s-pod 实战六 (如何在不同的部署环境中调整startupprobe的参数?)
  • 和服务端系统的通信
  • python 实现perfect square完全平方数算法