在线演示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. HTML5和CSS3的学习视频

    用Windows8和IE10开发HTML5网页视频教程专辑(Build New World) http://dreamdesign.csrjgzs.com/Article/ShowArticle.as ...

  2. [转] GIS二次开发(C#+AE)

    乘风莫邪 原文GIS二次开发(C#+AE) 此过程描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <</FONT>安装目录>/ ...

  3. android总结

    针对Android有以下几点需要注意: 1.是不是应该把数据刷新操作放在onResume()中?     @Override     public void onResume() {          ...

  4. Activity与Activity之间,Fragment与Fragment之间通过Bundle传值的研究

    一.Fragment与Activity的通讯   在使用fragment的时候,通常的用法都是使用一个activity来管理不同的fragment,所以每个fragment与activity的及时通讯 ...

  5. 动画 -- ListView列表item逐个出来(从无到有)

    import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; publi ...

  6. bjfu1097 图标排列

    这是2011年百度之星的一道题.这题的做法就是找规律,规律找对了,代码极水.规律我一开始也没有找到,后来经人提醒,发现如下规律:对于每个开发者,其所有应用的分离度和一定是其第一个应用与最后一个应用的距 ...

  7. cadence异型孔

    1:画route path的边框,画在board geometry的ncroute_path层上,可以用zcopy (暂时没用过)      没有的话可能:WARNING: No route path ...

  8. Windows7 64位系统下无法安装网络打印机的解决方法

    背景: 公司一台HP LaserJet 1010 打印机连在一台Windows XP的电脑上,而我的是windows7 64位系统,无法安装驱动解决办法:1:去惠普官网上下载对应的64位驱动(什么Vi ...

  9. DateTime.IsLeapYear 方法判断是否是闰年,DaysInMonth判断一个月有几天,Addday取得前一天的日期GetYesterDay

    一:DateTime.IsLeapYear 方法判断是否是闰年 二:代码 using System; using System.Collections.Generic; using System.Co ...

  10. JAVA基础----java中E,T,?的区别

    遇到<A>,<B>,<K,V>等,是用到了java中的泛型. 一般使用<T>来声明类型持有者名称,自定义泛型类时,类持有者名称可以使用T(Type) 如 ...