Silverlight提供了非常灵活的布局管理系统,让程序员和美工可以非常方便的控制控件的位置。布局管理系统提供了两种布局方式:绝对定位和相对定位。这两种定位方式其实和HTML的两种定位方式是一样的。在Silverlight 2 beta1中内置了三种最常用的布局控件:Canvas、StackPanel、GrID。
一、Canvas:相当基础的控件,通过绝对定位来控制字控件的位置。
在Canvas中,我们使用一种叫做“附加属性”的XMAL新特性来控制子控件的位置。附加属性就是指你可以通过设置子控件相对于其父控件的top、left、Bottom和Right值来控制子控件的位置。在Canvas中,我们可以使用Canvas.left、Canvas.top来控制子控件相对于父控件(Canvas)的位置。如:
以上代码将显示为:
Canvas对于那些子控件不需要移动的布局是非常方便的,但如果子控件数量太多或是子控件位置会发生变化,使用Canvas就不大方便了。这时候可以使用其他的布局控件,如:StackPanel、GrID。
二、StackPanel:该控件用于横向或纵向排列子控件(默认是纵向排列子控件的)。通过子控件的margin属性(该属性和HTML的margin属性的效果一样)来控制控件的间距。如:
以上代码将显示为:
三、GrID:GrID是一种相当灵活的布局控件,它通过行列的表格来管理子控件的布局,类似于HTML里的table控件。
和HTML的table控件不同的是,你不能直接把子控件嵌套的单元格中。在GrID里,你得先使用<GrID.RowDeFinitions>和<GrID.ColumnDeFinitions>来定义GrID的行列结构;然后在子控件中使用GrID的附加属性来控制子控件所属的单元格。
下面是一个使用GrID布局的例子,请注意控件所属的单元格:
以上代码将显示为:
对这三个基本布局控件有所了解后,我们就可以很方便的管理页面上控件的布局了。 总结
以上是内存溢出为你收集整理的Silverlight 三个基本布局控件(Canvas、StackPanel、Grid )全部内容,希望文章能够帮你解决Silverlight 三个基本布局控件(Canvas、StackPanel、Grid )所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)