设定Grid行或列的尺寸
来源:互联网 发布:万堂书院 淘宝大学 编辑:程序博客网 时间:2024/06/07 19:54
和普通UI元素可以设定Height和Width属性不同,RowDefinition类和ColumnDefinition类中相应的属性的类型不是Double,而是System.Window.GridLength。Grid调整Grid行列尺寸的方法有如下三种:
绝对尺寸 把Grid行列大小尺寸设为一个数值,这时Grid的行列尺寸不会随着其中UI元素的大小进行自动调整。
自动尺寸 把Grid的Height和Width设为Auto。这时WPF会根据Grid中的UI元素自动调整其行列的高度或宽度。其原则为:Grid的行高度由该行中元素的最大高度决定,Grid的列宽度由该列中元素的最大宽度决定。使用这种方法可以保证Grid中的UI元素不会只显示一部分。
按比例分割行列尺寸 把有限的平面大小按照一定的比例划分行的高度或列的宽度,其比例的数值可以是浮点数。如第一列的宽度设为"*"、第二列的宽度设为"1.2*"、第三列的宽度设为"2.5*",等等。
在C#中设定行列尺寸的语法:
RowDefinition rowdef = new RowDefinition(); rowdef.Height = new GridLength(100, GridUnitType.Pixel); (绝对尺寸) rowdef.Height = GridLength.Auto; (自动尺寸) rowdef.Height = new GridLength (2,GridUnitType.Star);(按比例尺寸)
WPF默认设置行的高度和列的宽度为1个*,即每行或每列的大小一样。
在XAML中设定行列尺寸的语法:
<RowDefinition Height="100"/> (绝对尺寸) <RowDefinition Height ="Auto"> (自动尺寸) <RowDefinition Height = "2*"> (按比例尺寸)
在设定Grid行列的尺寸时,还有一对重要参数:最小/最大宽度(MinWidth和MaxWidth);最大/最小高度(MinHeight和MaxHeight);当用户设定某个单元的MinWidth和MaxWidth值后,Grid允许该单元宽度的变化范围为MinWidth和MaxWidth之间。若用户的设定值大于MaxWidth, Grid用MaxWidth作为该单元的宽度;若用户的设定值小于MinWidth, Grid用MinWidth作为该单元的宽度。对于高度来说,上述规则也适用。
当Grid行列大小设为按比例排版时,WPF划分区域的方法为:
若行的高度都为*,就按Grid中的行数来计算出每行的高度。如整个Grid区域的高度是100,你要显示10行,那么每行的高度就是10(100/10)。
若Grid中有两行,第一行的高度设为*,第二行的高度设为1.5*,而整个Grid区域的高度仍为100,那么第一行的高度就是100/2.5= 40;第二行的高度就是100/2.5 * 1.5 = 60。
上述计算每行高度的规则也适用于计算每列的宽度,实际上在使用按比例分割行列尺寸时,行的高度或列的宽度的绝对数值并不重要,重要的是其相对比例。
- 设定Grid行或列的尺寸
- 设定Grid行或列的尺寸
- 设定Grid行或列的尺寸
- extjs按某列值设定grid列背景颜色
- Delphi FMX Grid列头样式设定
- extjs-grid修改行,列的颜色
- 根据自己设定的尺寸裁剪图片大小
- CUDA的Threading:Block和Grid设定
- CUDA的Threading:Block和Grid设定
- CUDA 的 Threading:Block 和 Grid 设定
- CUDA的Threading:Block和Grid设定
- CUDA的Threading:Block和Grid设定
- datagriview 列更换的设定
- GridControl动态列的设定
- PB Grid风格的数据窗口怎么保存用户使用时设定的列的宽度、列的位置等信息
- Extjs Grid 根据列的值(0或者1)显示“是或否”
- Extjs Grid 根据列的值(0或者1)显示“是或否”
- easyui Grid 的列合计
- Fragment学习之Activity传递数据到Fragment
- 有一个班,三个学生,各学四门课,计算总平均分数以及第n个学生的成绩
- percona之复制工具介绍
- phpmyadmin 错误 #2002 Cannot log in to the MySQL server
- Windows事件驱动机制及消息循环
- 设定Grid行或列的尺寸
- 猜年龄
- git入门学习
- python3.4 安装pydelicious 错误解决
- LLDB篇一,让lldb提升你的效率
- POJ 2502 Subway (Dijkstra 最短路+建图)
- JSON--List集合转换成JSON对象
- Fragment学习之使用接口回调的方式实现Fragment与Activity通信
- JAVA基础复习:字符串相关