WPF 内建面板学习总结(一)
2016-04-12 10:37
316 查看
面板能承载其他子元素,并可设置子元素的大小、位置。DockPanel、Canvas、StackPanel、Grid是WPF中主要的内建面板,这些面板类都位于System.Windows.Controls.Panel。
1、DockPanel
停靠面板,使子元素可以停靠在整个面板的某一条边上。 WinForm中是通过设置Dock属性,停靠控件的;但在WPF中,没有Dock属性。可设置模板之内的子元素DockPanel.Dock属性为“Left、Top、Right、Bottom”,属性设置后不会改变子元素自身的Height和Width。面板上的子元素设置时,先设置Menu、Toolbar、Statusbar等可以通过“Top、Bottom、Left、Right”停靠的子元素,然后加入填充区元素,注意,不能设置该元素的DockPanel属性,该元素就能自动填充整个剩余空间了。
2、Canvas
画布,可承载任意元素,包括控件,图形,甚至文字。它不会自动调整子元素的排列及大小,仅支持用显式坐标定位控件,也允许指定相对任何角的坐标。
它有四个属性:Canvas.Left, Canvas.Right,
Canvas.Bottom, Canvas.Top。这个属性很特别,如果有Canvas.Left时,Canvas.Right就不起作用,如果有Canvas.Top,Canvas.Bottom就不起作用。并且这四个属性是相对的,即不管Canvas变成多大或多小,控件的相对位置都是固定的。如果子元素没有使用任何附加属性,它会被放在Canvas的左上方(等同于设置Left和Top为0)。
Canvas的主要用来画图,对于矢量图形的准确定位非常有用。。默认不会自动裁减超过自身范围的内容,溢出的内容会显示在Canvas外面,可以通过设置ClipToBounds=“True”来裁剪多出的内容,默认情况为flase。
3、Grid
网格面板,通过定义Gird的行列进行定位的面板。Grid有两个定位行列的属性:Grid.ColumnDefintions和Grid.RowDefiniftion。在Grid上添加子元素后,需要定义子元素的Grid.Column和Grid.Row属性。
相关文章推荐
- UART时序分析
- AOP之通知顺序
- socket通信
- RxJava 备注
- centos7更改机器名后oracle无法使用
- iOS新建项目架构规范
- win10下设置虚拟机配置hadoop-yarn单机伪分布环境
- 沉睡
- mysql知识积累
- struts.xml文件属性介绍
- iOS 打包上传 Version 和 Build 的意义
- Python collections deque - double-ended queue ()
- 收藏的css
- Selenium2 Python 自动化测试实战学习笔记(二)
- weightSum属性和layout_weight属性的用法和详解
- c++全局变量的正确声明
- Java开发中的23种设计模式详解(转)
- VS2010 更改MFC标题栏图标和生成的执行文件图标
- 什么是IoC
- 《More Effective C++》 Item M2:尽量使用C++风格的类型转换