1、StackPanel:顾名思义 堆栈面板,通过Orientation属性设置子元素的布局排列方向为“Vertical”(垂直)和“Horizontal”(水平),不写其默认值为“Vertical”,当设置为“Vertical”时子元素会沿水平方向拉伸,反之设置为“Horizontal”时子元素会沿垂直方向拉伸。

1 <StackPanel>
2         <Button Content="button1"></Button>
3         <Button Content="button2"></Button>
4         <Button Content="button3"></Button>
5         <Button Content="button4"></Button>
6     </StackPanel>

效果图:

1 <StackPanel Orientation="Horizontal">
2         <Button Content="button1"></Button>
3         <Button Content="button2"></Button>
4         <Button Content="button3"></Button>
5         <Button Content="button4"></Button>
6     </StackPanel>

效果图:

2、DockPanel:支持子元素停靠在面板的任意一条边上,通过附加属性Dock控制他们的停靠位置(Left、Top、Right、Bottom),填充空间按照“先到先得”的原则,最后一个加入面板的子元素将填满剩下的空间,如不想将最后加入面板的元素填满剩下的空间将属性LastChildFill值设为“False”,默认为“True”。

1  <DockPanel >
2         <Button Content="button1" DockPanel.Dock="Top" Background="Aqua"></Button>
3         <Button Content="button2" DockPanel.Dock="Left" Background="Blue"></Button>
4         <Button Content="button3" DockPanel.Dock="Bottom" Background="Crimson"></Button>
5         <Button Content="button4" DockPanel.Dock="Right" Background="Gold"></Button>
6         <Button Content="button5" Background="GreenYellow"></Button>
7     </DockPanel>

效果图:

1 <DockPanel LastChildFill="False">
2         <Button Content="button1" DockPanel.Dock="Top" Background="Aqua"></Button>
3         <Button Content="button2" DockPanel.Dock="Left" Background="Blue"></Button>
4         <Button Content="button3" DockPanel.Dock="Bottom" Background="Crimson"></Button>
5         <Button Content="button4" DockPanel.Dock="Right" Background="Gold"></Button>
6         <Button Content="button5" Background="GreenYellow"></Button>
7     </DockPanel>

效果图:

3、WrapPanel:可换行面板与StackPanel相似,通过Orientation属性设置子元素的排列顺序,从左至右按顺序位置定位子元素,当前行无法放下元素时断开至下一行,或者排序按照从上至下或从右至左的顺序进行,通过ItemHeight可以设置当前面板中所有子元素的高度,当然也有ItemWidth设置所有子元素的宽度。

 <WrapPanel Orientation="Horizontal" ItemHeight="50" ItemWidth="80" ><Button Content="button1" Background="Aqua"></Button><Button Content="button2" Background="Blue"></Button><Button Content="button3" Background="Crimson"></Button><Button Content="button4" Background="Gold"></Button><Button Content="button5" Background="GreenYellow"></Button><Button Content="button1" Background="Aqua"></Button><Button Content="button2" Background="Blue"></Button><Button Content="button3" Background="Crimson"></Button><Button Content="button4" Background="Gold"></Button><Button Content="button5" Background="GreenYellow"></Button><Button Content="button1" Background="Aqua"></Button><Button Content="button2" Background="Blue"></Button><Button Content="button3" Background="Crimson"></Button><Button Content="button4" Background="Gold"></Button><Button Content="button5" Background="GreenYellow"></Button></WrapPanel>

效果图:

ps:如有写错或描述的不清楚的地方欢迎指正或补充。

转载于:https://www.cnblogs.com/cmblogs/p/9116357.html

WPF的几种布局方式相关推荐

  1. Android开发的之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  2. [转]企业网站首页设计常见的6种布局方式

    在 群里和大家交流时,看到太多的网页设计师发布企业站的个人作品,设计中总是摆脱不了大框套小框的设计布局思路,不加思索的跳入单一的网页布局形式中,于是 就有了把企业站常用的页面布局方式总结一下的想法,让 ...

  3. 企业网站首页设计常见的6种布局方式

    转载自:http://www.wzsky.net/html/Website/Experience/120178.html 在群里和大家交流时,看到太多的网页设计师发布企业站的个人作品,设计中总是摆脱不 ...

  4. 常用的几种布局方式---Flex 布局(垂直居中展示)

    常用的几种布局方式---Flex 布局(垂直居中展示) 前言 一.默认使用静态布局 二.flex布局 1.父元素container 1.1.display:flex 1.2.flex-directio ...

  5. HTML+CSS 五种布局方式

    已知布局元素的高度,写出三栏布局,要求左栏.右栏宽度各为300px,中间自适应. 一.浮动布局 <!DOCTYPE html> <html> <head><m ...

  6. css的3种布局方式

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 1.文档流布局方式,这是最基本 ...

  7. css的几种布局方式都在这

    说道布局方式,是我们经常遇到的问题,下面我们就来讲解css的常见的一些布局方式. 1.双飞翼布局(两边定宽,中间自适应) 主要是通过浮动与margin实现,代码如下: <!DOCTYPE htm ...

  8. html布局方式有哪些,HTML几种布局方式-HTML教程第十六讲

    本文主要介绍HTML的布局方式.归纳了以下,主要有以下三种方式: 使用 元素的 HTML 布局 注释: 元素常用作布局工具,因为能够轻松地通过 CSS 对其进行定位. 这个例子使用了四个 元素来创建多 ...

  9. Android开发 第五课 Android的几种布局方式

    通常我们开发的应用程序都是需要具有友好的用户界面,那么Android中提供了哪些布局方式呢?当我们构思好了所需要的各种控件的时候,怎样才能将它们放到Android设备屏幕上正确的位置呢?在Androi ...

最新文章

  1. 单点登录(SSO)—简介
  2. SQL SERVER SQLOS的任务调度--微软亚太区数据库技术支持组 官方博客
  3. PHP学习笔记1.2——预定义变量参考
  4. java 两个日期的天数_java计算两个日期之间的天数
  5. 2018年科技将怎样改变世界?阿里12位科学家发布年度科技趋势预测
  6. javescript的内置对象
  7. 从苹果店员到机器学习工程师,高中学历澳洲小哥的自学路
  8. windows WEB 服务器安全策略
  9. 普通人学python有啥用-学习Python到底有什么用?
  10. LeetCode刷题——283. 移动零
  11. Java基础笔记-String类
  12. debian网络配置文件的写法
  13. 一个初学者的辛酸路程-常用模块-6
  14. Vuex 的简单模拟、了解Vuex
  15. AutoJS实现微信自动聊天机器人
  16. linux系统pdf转图片
  17. 关于DSP28开发环境CCS6常见报错汇总(未完待续)
  18. oracle解一元二次方程,第 6 章 浮点运算
  19. 爱荷华大学计算机科学专业,爱荷华大学计算机专业
  20. [STM32]WIN7 64位系统 CDC类 虚拟串口驱动无法安装的解决办法

热门文章

  1. 【转】ubuntu 12.04 LTS将关闭最大化最小化移动到右上角
  2. java string常用的占位符形式
  3. linux 0.11 源码学习(二)
  4. Google Protocol Buffers浅析(四)
  5. Vision Transformer太火!这门开源课也火了!十小时现场coding带你玩转ViT 爆款SOTA算法!...
  6. 【项目合作】方向任意的目标检测
  7. 悬赏百万美金,检测Deepfake假视频,数据集有470G:很久不见这么壕的比赛
  8. Facebook AI 提出10亿级数据规模的半监督图像分类模型,ImageNet测试精度高达81.2%!...
  9. 终于我还是没忍住,用Python爬了一波女神
  10. mysql 插入毫秒数据_【转载】怎样在mybatis里向mysql中插入毫秒数的时间?