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

效果图如下

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

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

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

就是LayoutRoot 然后里面在看情况套用多个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的布局

 

posted on 2013-09-06 11:07  longta  阅读(195)  评论(0编辑  收藏  举报