Xaml 页面布局学习

    对于一开始设计xaml界面的初学者,总是习惯性的拖拽控件进行布局,这样也许方便、简单、快捷,但偶尔会出现一些小错误,

当需要将控件进行很细微的挪动时也比较吃力。

   这里,我个人建议用一些代码将xaml界面划分一下比较好,这样既使界面简单,有条理化,又使界面美观,易于对界面的各个部分

进行操作。

  使用页面布局的两个定义是Grid.ColumnDefinitions和Grid.RowDefinitions。

下面演示一些实例(这些例子是本人在wpf上运行的):

  <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100" />
            <ColumnDefinition Width="100" />
            <ColumnDefinition Width="100" />
            <ColumnDefinition Width="100" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="60" />
            <RowDefinition Height="100" />
            <RowDefinition Height="40" />
            <RowDefinition Height="40" />
        </Grid.RowDefinitions>
    </Grid>

界面生成的结果:

代码中的 * 表示余下的说有长度,如果有多个 * ,则将剩下的长度等分为多份。

如:

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

        </Grid.RowDefinitions>
    </Grid>

结果:

有了一个好的布局界面,就可以加入一些其它的控件在对应的空间内了:

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

        </Grid.RowDefinitions>
        <Rectangle Grid.Row="0" Grid.Column="0" Fill="Red" ></Rectangle>
        <Rectangle Grid.Row="1" Grid.Column="1" Fill="Blue" ></Rectangle>
        <Rectangle Grid.Row="2" Grid.Column="3" Fill="Green"></Rectangle>
        <Rectangle Grid.Row="0" Grid.Column="1" Fill="Chocolate" ></Rectangle>
    </Grid>

结果:

如上面展示的一样,row与column都是从0开始算起的,这一小细节值得注意。

 

有了一个好的布局界面,对于接下来的控件的位置就更好确定了,也不用担心控件会在自己不小心的情况下变换位置。

这些尤其是对于向用户显示信息的时候尤为重要。

转载于:https://www.cnblogs.com/weifengxiyu/p/4527337.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值