在线演示http://v.youku.com/v_show/id_XNzA5NDk2Mjcy.html

清晰版视频+代码下载http://115.com/lb/5lbeer0m9lad



一、简单介绍

本篇对WPF的布局控件做一个初步的概览,并分别演示Grid、StackPanel、Canvas、DockPanel和WrapPanel五个布局控件。。

主要内容包含:

1、UI布局的方式和关系。

2、WPF的布局理念。

3、五种布局控件的概述和演示。

4、小结。

二、UI布局的方式和关系

1、三种布局方式:绝对定位、相对定位和行列定位。

2、三种布局关系:相领、叠加和包括关系。

对于包括关系,可參加例如以下的演示样例代码,Button控件中包括了Button控件。

<Button Margin="144,50,153,57">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10">
<Button.Content>
<Button Margin="10" Content="OK" />
</Button.Content>
</Button>
</Button.Content>
</Button>
</Button.Content>
</Button>
</Button.Content>
</Button>
</Button.Content>
</Button>
</Button.Content>
</Button>
</Button.Content>
</Button>
</Button.Content>
</Button>
</Button.Content>
</Button>

效果例如以下图所看到的:

三、WPF的布局理念

把一个布局元素作为ContentControl或HeaderedContentControl族控件的Content,再在布局里面加入要被布局的子级控件,假设UI局部须要更复杂的布局,那就在这个区域设置一个子级的布局元素,形成布局元素的嵌套。

四、五种布局控件的概述和演示

Grid:网格布局控件。能够自己定义行和列并通过行列的数量、行高和列宽来调整控件的布局。类似于HTML中Table元素。

StackPanel:栈式面板控件。可将包括的元素在竖直或水平方向上排成一条直线,当移除一个元素后,后面的元素会自己主动向前移动以填充空缺。

Canvas:画布控件。内部元素能够使用以像素为单位的绝对坐标进行定位,类似于传统的WinForm布局方式。

DockPanel:泊靠式面板。内部元素能够选择泊靠方向,类似于传统WinForm的Dock属性。

WrapPanel:自己主动折行面板。内部元素在排满一行后可以自己主动折行,类似于HTML中的流式布局。

 



五、小结

本演示主要介绍的内容包含:

1、控件的布局关系:叠加、相邻和包括。;

2、五种布局控件概述。Grid、StackPanel、Canvas、DockPanel、WrapPanel

具体内容请參加视频演示!

WPF UI布局之概述的更多相关文章

  1. WPF——UI布局

    1.规划整体布局(规划界面结构)——>这样就可以划分出若干区域(区域的控件通常是一些容器控件) 2.针对 上面的 “若干区域” ,制作每个区域的一级用户控件(然后,将该用户控件放入对应的区域中) ...

  2. wpf UI 布局

    1.Grid *号代表百分比,也可以使用固定值,需要预先设置 有几行几列 以及宽度和高度 ,在表格中的控件需要 表明自己所在第几行 第几列 2.StackPanel 重点需要设置 排列方向 水平还是垂 ...

  3. WPF案例 (六) 动态切换UI布局

    原文:WPF案例 (六) 动态切换UI布局 这个Wpf示例对同一个界面支持以ListView或者CardView的布局方式呈现界面,使用控件ItemsControl绑定数据源,使用DataTempla ...

  4. WPF的UI布局(Layout)WPF读书笔记(第三天)

        WPF的布局元素有一下几个 Grid:网格.可以自定义行和列并且通过行列的数目.行高和列宽来调整控件的布局. StackPanel:格式面板.可将包含的元素在水平方向或者竖直方向排成一条线. ...

  5. WPF六个控制概述

    在线演示:http://v.youku.com/v_show/id_XNzA0NjU1Mjk2.html 清晰版视频+代码下载:http://115.com/lb/5lbcftnrfo9s 一.简单介 ...

  6. WPF常用布局介绍

    概述:本文简要介绍了WPF中布局常用控件及布局相关的属性 1 Canvas Canvas是一个类似于坐标系的面板,所有的元素通过设置坐标来决定其在坐标系中的位置..具体表现为使用Left.Top.Ri ...

  7. WPF 之 布局(一)

    WPF的布局控件都在 System.Windows.Controls.Panel 这个基类下面,使用 WPF提供的各种控件在WPF应用程序中界面进行布局,同时对各种子控件(如按钮.文本框,下拉框等)进 ...

  8. [WPF自定义控件库]了解WPF的布局过程,并利用Measure为Expander添加动画

    1. 前言 这篇文章介绍WPF UI元素的两步布局过程,并且通过Resizer控件介绍只使用Measure可以实现些什么内容. 我不建议初学者做太多动画的工作,但合适的动画可以引导用户视线,提升用户体 ...

  9. UI-WPF_UI:WPF UI - DMSkin官方网站

    ylbtech-UI-WPF_UI:WPF UI - DMSkin官方网站 1.返回顶部 1. QQ: 944095635 DMSkin.com 首页 论坛 定制 博客  联系   DMSkin 3. ...

随机推荐

  1. codeforces 678D Iterated Linear Function 矩阵快速幂

    矩阵快速幂的题要多做 由题可得 g[n]=A*g[n-1]+B 所以构造矩阵  { g[n] }    =  {A   B}  * { g[n-1]} {   1   }         {0   1 ...

  2. linux下安装pkg-config时遇到"glib-2.0>=2.16"的错

    解决办法 如报错提示所述,加上:--with-internal-glib 即 ./configure --with-internal-glib 参考链接: http://stackoverflow.c ...

  3. Sqlserver作业-手把手带你体验

    所谓Sql Server作业就是按照规定的时间执行指定的脚本,如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理-SQL Server代 ...

  4. ACM竞赛 Java编程小结

    1.字符串的长度 String str = new String(" abcd"); int length = str.length(); 2.数组的长度.排序 2.1对于 a[] ...

  5. MATLAB / Simulink on BeagleBone Black

    转自:beagleboard@googlegroups.com邮件组 作者:kevind I have MATLAB / Simulink working with BeagleBone Black. ...

  6. 最简单例子图解JVM内存分配和回收

    一.简介 JVM采用分代垃圾回收.在JVM的内存空间中把堆空间分为年老代和年轻代.将大量(据说是90%以上)创建了没多久就会消亡的对象存储在年轻代,而年老代中存放生命周期长久的实例对象.年轻代中又被分 ...

  7. HDU ACM Eight

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043 解题背景: 看到八数码问题,没有任何的想法,偶然在翻看以前做的题的时候发现解决过类似的一道题,不 ...

  8. SRM 502 DIV1 500pt(DP)

    题目简述 给定比赛时间T和n个题目,你可以在任意时间提交题目,每个题目有一个初始分数maxPoints[i],每个单位时间题目的分数将会减少pointsPerMinute[i],即如果在时间t解决了第 ...

  9. 第二百五十三、四、五天 how can I 坚持

    出去玩了几天,好累啊. 周五,坐了半天车.到了西柏坡,下午撕名牌,好疯狂啊,最终还是以有人受伤为代价结束了战斗.晚上吃蛋糕.水饺,还有面条,就是我的奖品没拿到.哎.. 周六,上午滑雪,两年没滑了,都忘 ...

  10. cocos2d-x生成随机数

            //获取系统时间         //time_t是long类型,精确到秒,通过time()函数可以获得当前时间和1970年1月1日零点时间的差         time_t tt; ...