wp7中Grid布局类似HTML中的表格,但是又不太一致!

为了测试新一个3行3列的Grid

方了方便,剔除掉其它XAML代码

[c-sharp:collapse] view plaincopy

 
  1. <Grid x:Name="LayoutRoot" ShowGridLines="True">
  2. <Grid.RowDefinitions>
  3. <RowDefinition x:Name="r1"></RowDefinition>
  4. <RowDefinition x:Name="r2"></RowDefinition>
  5. <RowDefinition x:Name="r3"></RowDefinition>
  6. </Grid.RowDefinitions>
  7. <Grid.ColumnDefinitions>
  8. <ColumnDefinition x:Name="c1"></ColumnDefinition>
  9. <ColumnDefinition x:Name="c2"></ColumnDefinition>
  10. <ColumnDefinition x:Name="c3"></ColumnDefinition>
  11. </Grid.ColumnDefinitions>
  12. </Grid>

行分别命名为r1,r2,r3

其中行用高度,列用宽度来指定大小,同HTML不同的是用*表示百分比,确切的说不叫百分比。


示例1,仅以行做示例:

[xhtml:collapse] view plaincopy

 
  1. <RowDefinition x:Name="r1" Height="40*"></RowDefinition>
  2. <RowDefinition x:Name="r2"  Height="40*"></RowDefinition>
  3. <RowDefinition x:Name="r3" Height="40*"></RowDefinition>

如果按百分比,三个行已经超过了100%,但是实际上SL是三个行平分的,可以想象成分成120份,每行占40份,就是每行1/3。平均分配

示例2:

[xhtml:collapse] view plaincopy

 
  1. <RowDefinition x:Name="r1" Height="20*"></RowDefinition> 
  2. <RowDefinition x:Name="r2"  Height="40*"></RowDefinition> 
  3. <RowDefinition x:Name="r3"></RowDefinition> 

r3行占20*吗?实际上r1的高度是r3的20倍,r2的高度是r3的40倍,r2的高度是r1的2倍


示例3:

[xhtml:collapse] view plaincopy

 
  1. <RowDefinition x:Name="r1" Height="20*"></RowDefinition>
  2. <RowDefinition x:Name="r2"  Height="40*"></RowDefinition>
  3. <RowDefinition x:Name="r3" Height="auto"></RowDefinition>

r3根据里面的控件高度占用高度,余下的r1和r2按比例分,即r2是r1高度的2倍


示例4:

[xhtml] view plaincopy

 
  1. <RowDefinition x:Name="r1" Height="20*"></RowDefinition>
  2. <RowDefinition x:Name="r2"  Height="40*"></RowDefinition>
  3. <RowDefinition x:Name="r3" Height="auto" MaxHeight="100"></RowDefinition>

如果对r3的高度指定为自动,则不会受Min/MaxHeight高度的限制,只会受内部控件高度影响


示例5:

[xhtml:collapse] view plaincopy

 
  1. <RowDefinition x:Name="r1" Height="20*"></RowDefinition>
  2. <RowDefinition x:Name="r2"  Height="40*"></RowDefinition>
  3. <RowDefinition x:Name="r3" Height="50*" MaxHeight="200"></RowDefinition>

此时r3的高度受Min/MaxHeight高度控制,若50/(20+40+50)*总高度  > 200,则按200显示,否则按50/(20+40+50)*总高度 显示


示例6:

[xhtml:collapse] view plaincopy

 
  1. <RowDefinition x:Name="r1" Height="20*"></RowDefinition>
  2. <RowDefinition x:Name="r2"  Height="40*"></RowDefinition>
  3. <RowDefinition x:Name="r3" Height="500" MaxHeight="200"></RowDefinition>

此时r3的高度一直保持200,余下的r1和r2按比例分配,即高度大于最大高按最大高度显示,高度小于最小高度按最小高度显示。


示例7:

[xhtml] view plaincopy

 
  1. <RowDefinition x:Name="r1" Height="100"></RowDefinition>
  2. <RowDefinition x:Name="r2"  Height="200"></RowDefinition>
  3. <RowDefinition x:Name="r3" Height="50"></RowDefinition>

各行按实际高度展示,若总宽度不等于350,默认r3高度适应(但是ActualHeight = 50)

Grid布局方式的更多相关文章

  1. 图文详解前端CSS中的Grid布局,你真的可以5分钟掌握

    前言 网站的布局是一个网站设计的根本,CSS的Grid布局已经成为了未来网站布局的基本方式. 今天这篇文章我们通过图文,一起看看如何自己实现Grid布局方式. CSS 第一个Grid布局 首先我们看看 ...

  2. 【Android UI】Android开发之View的几种布局方式及实践

    引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理 ...

  3. 对比MFC资源文件谈谈WPF布局方式

    对比MFC资源文件谈谈WPF布局方式 MFC方式 对于传统的MFC基于UI的应用程序设计通常分两步走,首先是设计UI,使用的是RC文件,然后是代码文件,对RC文件进行操作,如下面Figure 1 的基 ...

  4. Android 开发之旅:view的几种布局方式及实践

    本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.View布局概述 2.线性布局(Linear Layout) 2.1.Tips:android:layout_weigh ...

  5. Android 开发:view的几种布局方式及实践

    View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍.View的布局显示方式有下面几种:线性布局(Linear Layout).相对布局(Relative Layout).表格布局(Tab ...

  6. [转]使用CSS3 Grid布局实现内容优先

    使用CSS3 Grid布局实现内容优先  http://www.w3cplus.com/css3/css3-grid-layout-module.html 本文由大漠根据Rachel Andrew的& ...

  7. grid 布局 CSS3

    display:grid 是一种新的布局方式,旧的布局方式通常有副作用,例如float(需要额外修复浮动)或者inline-block(两个元素之间的空格问题)   把父元素定义为grid,就像表格一 ...

  8. grid 布局

    display:grid 是一种新的布局方式,旧的布局方式通常有副作用,例如float(需要额外修复浮动)或者inline-block(两个元素之间的空格问题)   把父元素定义为grid,就像表格一 ...

  9. CSS Grid 布局完全指南(图解 Grid 详细教程)

    CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...

随机推荐

  1. mysql5.7主从复制--在线变更复制类型【转】

    这里说一下关于如何在线变更复制类型(日志复制到全局事物复制),参考课程:mysql5.7复制实战 先决条件     (1)集群中所有的服务器版本均高于5.7.6(2)集群中所有的服务器gtid_mod ...

  2. Axure RP 快速原型设计工具

       Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图 ...

  3. css1-puchong1

    HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. 一:HTML DOM 树 ...

  4. 关于NOIP2018初赛

    题面 这次PJ初赛有点傻了,可能是因为兴华水土不服吧(在这荒度了六年级的光阴). 选择题 DDDBBAAAABABBBB 第四题 当时懵了,我啥也不知道,于是就开始蒙 A.LAN B.WAN C.MA ...

  5. JavaScript中变量的相互引用

    http://www.jb51.net/article/23387.htm  

  6. android studio 3.0之后版本自定义文件名生成apk文件

    修改app模块的build.gradle 在android闭包中添加以下代码 //指定打包后应用名称 android.applicationVariants.all { variant -> v ...

  7. 说commit,rollback

    事务执行失败后,看做的是commit还是rollback:commit是把执行成功的部分提交了,rollback就是全回滚了.如果rollback失败了,此时不处理,等到客户端断开,MySQL内部默认 ...

  8. Latex常用整理

    会不断更新添加,以便写论文的时候快速查找. 项目 带编号 \begin{enumerate} \setlength{\itemsep}{0pt} \setlength{\parsep}{0pt} \s ...

  9. 【笔试题】在 Java 中,如何跳出当前的多重嵌套循环?

    笔试题 在 Java 中,如何跳出当前的多重嵌套循环? public class Demo { public static void main(String[] args) { System.out. ...

  10. nginx no input file specified

    今天在lnmp上调试php项目,之前已经在上面测试过tp5框架,可以正常访问.但是新项目由于项目中有些路径是写固定路径的.为了不去修改代码.配置新项目的时候,为新项目设置新的目录.问题就出现了,网页提 ...