WPF布局

 WPF提供了一套面板,他们是用于排列他们所包含的元素的特殊用户界面元素。

    1栈面板(StackPanel)

      栈面板就是将其其包含的元素按照堆栈的形式排列,通过设置面板的Orientation属性设置了两种排列方式:默认的横排(Horizontal)和竖排(Vertical)。纵向的StatickPanel默认每个元素宽度与面板一样宽,反之横向亦然。如果包含的元素超过了面板空间,它只会截断内容。

< StackPanel >
  
< TextBlock Margin = " 3 " > Lock For: </ TextBlock >
  
< Button Margin = " 3,5 "  HorizontalAlignment = " Left " > Search </ Button >
</ StackPanel >

      元素的Margin属性用于使元素之间产生一定得间隔,当元素空间大于其内容的空间时,剩余空间将由HorizontalAlignment和VerticalAlignment属性来决定如何分配。

      2环绕面板(WrapPanel)

      将WrapPanel翻译成环绕面板个人觉得有待商榷,管他的就这么叫吧。大伙都知道在以往的TextBox中Wrap属性的意思就是在文本超过TextBox的长度时自动换行,这个面板也是如此。WrapPanel面板也提供了Orientation属性设置排列方式,这跟上面的StackPanel如出一辙。不同的是WrapPanel会自动换行。

      3停靠面板(DockPanel)

      停靠面板其实就是在2.0中类似于Dock属性的元素。DockPanel会对每个子元素进行排序,并停靠在面板的一侧,多个停靠在同侧的元素则按顺序排序,最后一个元素填充这个Panel(除非将LastChildFill属性设置为False,它才会使得没有填充的部分为空)。对于在DockPanel中的元素的停靠属性可以通过Panel.Dock的附加属性来设置,如下:

DockPanel

效果如图

在这里顺带指明一下,WPF中所有元素都由FrameworkElement元素继承而来。

      在DockPanel中,停靠边界交界处的元素定义顺序直接影响到最终的显示效果。如果将left和Bottom按钮对调定义,显示如下图

      4网格面板(Grid)

      Grid与其他面板不同的是,他的面板布局由<Grid.ColumnDefinitions>列元素集和<Grid.RowDefinitions>行元素集合两种元素组成。而放置在Grid面板中的控件元素入TextBox等都必须显示采用附加属性语法定义其放置所在的行和列,否则元素均默认放置在第0行第0列。由于Grid的组成并非简单的添加属性标记来区分行列,这也使得用户在实际应用中可以具体到某一单元格中,这似乎更为明智!

      4.1Grid列宽与行高

      Grid的列宽与行高可采用固定、自动、按比列三种方式定义

Grid列宽行高
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值