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. Linux下USB suspend/resume源码分析【转】

    转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...

  2. PHP回调函数及匿名函数概念与用法详解

    1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...

  3. 可视化并理解CNN

    参考:https://zhuanlan.zhihu.com/p/24833574 学习论文[1311.2901] Visualizing and Understanding Convolutional ...

  4. Mybatis输入映射和输出映射

    本节内容: 输入参数映射 输出映射 resultMap Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 一.环境准备 复制 ...

  5. AndroidStudio3.0以上版本的坑

    原文:https://blog.csdn.net/ytfunnysite/article/details/78864556 1.Error:Failed to resolve: com.android ...

  6. BZOJ 1878 HH的项链 | 主席树

    题意 询问区间有多少不同的数. 题解 和Luogu 1903一样,这道题也是用pre数组来求区间不同数的个数,这里pre[i]表示a[i]上一次出现的位置 +1,询问相当于查询区间内有多少pre小于等 ...

  7. Vue.js项目集成ElementUI

    Vuejs实例-02Vue.js项目集成ElementUI   Vuejs实例-02Vue.js项目集成ElementUI 0:前言 vue.js的UI组件库,在git上有多个项目,我见的使用者比较多 ...

  8. 【AtCoder】ARC092

    C - 2D Plane 2N Points 把能连边的点找到然后跑二分图匹配即可 #include <bits/stdc++.h> #define fi first #define se ...

  9. 039 DataFrame的理解

    1.构成 由RDD+Schema构成 RDD: DataFrame中的数据 ===> df.rdd Schema: RDD中数据的结构 ===> df.schema df是dataFram ...

  10. 《C陷阱与缺陷》阅读笔记(个人版)

    笔记: 第一章:词法陷阱 提倡显示比较if((x = y) != 0) foo(); 第二章:语法陷阱 已知一个类型的声明 该类型的类型转换:吧声明中的变量名和声明末尾的分号去掉,再将剩余的部分用括号 ...