WPF是用不同的容器来安排布局的,每一个容器都有自己的布局逻辑。对于WPF而言,窗口往往只能包含一个元素,为了能够显示多个元素,我们常常将元素放置到容器中,然后再将容器放置到窗口上。

1、WPF布局原则

1)不应该显式地限制容器元素的尺寸,比如设置固定尺寸大小为某个定值

2)不应使用屏幕的坐标设定容器的位置,可以利用容器的Margin属性来对容器的留白大小进行设置

3)布局容器和其子元素共享可使用的空间

4)可以嵌套的使用布局容器

2、使用StackPanel面板进行简单布局

StackPanel是一个比较简单的布局容器,可以在单行或者单列中以堆栈的形式放置子元素,所以也叫做堆栈面板。

我们新建一个WPF程序,将原本的Grid网格容器删除,然后通过工具箱的组件拖拽,加入StackPanel容器。

接着一次向容器中加入Label组件和四个Button组件,我们可以看到这五个组件是垂直分布的:

我们可以在StackPanel的属性特性中对Orientation属性进行更改,从而改变这些元素排列的方式,效果如下:

有时候我们需要对子元素的位置进行更改设置,就要利用子元素的属性特性中HorizontalAlignment和VerticalAlignment进行更改,比如我们设置Label组件让他居中显示,效果如下:

同理我们可以利用Margin属性设置子元素与其他元素之间的留白大小

同时还可以利用Minwidth和MaxWidth设置控件的大小范围的限制

3、Border控件

Border控件不是布局的容器,是一个经常和布局容器一起使用的元素。通常Border包含一个布局容器,用来给布局容器添加背景或者边框的设置。主要有以下几个主要属性特性:

BorderThickness属性用来设置边框宽度;

Background属性用来设置整个的背景颜色;

Padding属性用来设置边框和布局容器之间的距离;

CornerRadius属性是调整边框的圆角程度;

WPF学习笔记——4)使用StackPanel面板进行简单布局相关推荐

  1. WPF学习笔记——5)WrapPanel面板和DockPanel面板

    上一节我们简单介绍了StackPanel的布局,为了能做出更好看的用户界面,往往一种布局容器是不够的,我们这里介绍了两种布局容器,分别为WrapPanel面板和DockPanel面板布局. 1.Wra ...

  2. WPF学习笔记(数据绑定篇3)

    接上回的<WPF学习笔记(数据绑定篇2)>,继续 BindValidation 此示例演示了: 如何使用错误模板: 使用样式显示错误信息: 如何在校验发生异常时执行回调: 首先,你可以看见 ...

  3. WPF学习笔记(7):DataGrid中数字自定义格式显示

    WPF学习笔记(7):DataGrid中数字自定义格式显示 原文:WPF学习笔记(7):DataGrid中数字自定义格式显示 DataGrid中数据显示如下图,数据格式比较杂乱.希望达到以下要求:(1 ...

  4. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  5. Bootstrap学习笔记01【快速入门、栅格布局】

    Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...

  6. 一、css清除浮动方法学习笔记总结(超详细,简单易懂)

    ** css清除浮动方法学习笔记总结(超详细,简单易懂) ** 问题: 上图中,由于container(父级元素)未设置高度,其内部子元素设置了float浮动,导致与container同级(也就是co ...

  7. Python数据挖掘学习笔记】九.回归模型LinearRegression简单分析氧化物数据

    #2018-03-23 16:26:20 March Friday the 12 week, the 082 day SZ SSMR [Python数据挖掘学习笔记]九.回归模型LinearRegre ...

  8. 「学习笔记」移动Web开发之flex布局9

    「学习笔记」移动Web开发之flex布局9 一.flex布局体验 1.1 传统布局与flex布局 1.2 初体验 二.flex布局原理 2.1 布局原理 三.flex布局父项常见属性 3.1 常见父项 ...

  9. WPF学习笔记-第二周【基本笔刷】

    书接上回,这一次,讲的是WPF中的基本笔刷,由于是菜鸟,就不多说了,继续帖示例代码:) 第一部份 代码 第二章 基本笔刷 第一个 示例 VaryTheBackgroud P38  1     #reg ...

  10. html响应式布局的概念,HTMLCSS学习笔记(十八)响应式布局概念

    原标题:HTMLCSS学习笔记(十八)响应式布局概念 常见的布局方案 固定布局:以像素作为页面的基本单位,不管设备屏幕及浏览器宽度,只设计一套尺寸: 可切换的固定布局:同样以像素作为页面单位,参考主流 ...

最新文章

  1. iOS 在每一个cell上添加一个定时器的方案
  2. 恢复误删的进程在使用的文件【转】
  3. EditText中的几个常用属性
  4. spring boot / cloud (十七) 快速搭建注册中心和配置中心
  5. 卷积神经网络的结构_射击训练:卷积神经网络识别解剖结构标志位点
  6. Android之JNI ERROR (app bug): accessed stale global reference 0xb39533f2 (index 19708 in a table of s
  7. ftp linux 服务器 麒麟_麒麟系统安装ftp
  8. Spring MVC学习总结(9)——Spring MVC整合swagger自动生成api接口文档
  9. 1177:奇数单增序列
  10. signature=e5535ff98b93aa63c455611822dc57c2,高校新生预激综合征6例报告
  11. express 学习记录
  12. 扩展ScriptBundle,支持混淆加密javascript
  13. ghost还原固态硬盘_解决方法:SSD可以使用Ghost软件吗?最后说清楚了
  14. arm 嵌入式系统复习大纲
  15. main函数写法总结
  16. 全球2018OpenStack用户调查报告亮点一览
  17. 自建图床之一:使用幻想领域搭建免费新浪图床网站
  18. 【正点原子MP157连载】第四十章 Linux I2C驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  19. Safari 手机浏览器无法下载的问题
  20. 实现人生梦想,共同创造人生辉煌!

热门文章

  1. 删除了电脑硬盘的数据能恢复吗,硬盘数据删除了还能恢复吗
  2. 卡巴斯基KEY大集合
  3. mmap映射方式读写本地文件
  4. 使用POI完成excel文件导出
  5. FTP局域网内文件共享
  6. 1计算机组成及作用是什么,如何理解计算机组成和计算机体系结构?
  7. 洛谷OJ P1003 铺地摊
  8. LaTeX组件:texlive2019+texstudio+sumatraPDF 安装包及学习手册
  9. JMETER录制脚本,脚本增强,参数化,作用域和执行顺序
  10. 《Spring揭秘》知识点总结