SILVERLIGHT 应急卫生模拟演练项目之GRID布局

时间:2023-03-09 02:47:37
SILVERLIGHT 应急卫生模拟演练项目之GRID布局

上篇文章 我介绍了LOADING界面 loading加载完成后 会进入主界面

效果图如下SILVERLIGHT 应急卫生模拟演练项目之GRID布局

这里我要给大家说一下我在布局方面的应用  说起布局 做过SL开发的一定都知道 Grid,StackPanel和Canvas

这三种是SL布局当中最常用 我常用的主要是前两个 Canvas我不是经常用只有在BLEND设计上会用到一些

Grid 是类似表格的控件可以定义几行几列 我们默认建一个页面 会自动生成一个叫LayoutRoot的Grid  就拿这个页面来说吧 我的做法是套在最外层的是一个grid

就是LayoutRoot 然后里面在看情况套用多个Grid 这里我用分布图给大家看一下的我大致的布局情况

SILVERLIGHT 应急卫生模拟演练项目之GRID布局

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
</Grid>

Height/Width:定义行的高度

MaxHeight/MaxWidth:单元格拉伸最大高/宽度

MinHeight/Minwidth:   单元格压缩最小高/宽度

通过设定Grid.RowSpan,Grid.ColumnSpan来设定控件占据几行几列 默认值都为0

此外它还有一个ShowGridLines属性  很明显 就是指定我们的Grid控件行列之间是否显示分割线 这个很少用到

Table布局中 我们可以指定width的百分比 在Grid中,我们一样可以实现这样的功能 方法是用*去代替了%

Grid是一个很常用的布局控件 类似html中的table 分行 列来进行布局。在开发SL程序时候时 可以在设计窗口进行实时的调整 但我一般用代码来控制 界面调整还是有很多不便  希望大家可以找到更多的方法去进行grid的布局