Silverlight页面布局
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1484
Panel元素和自定义布局行为Silverlight包括Panel元素的派生套件,可以实现许多复杂的布局。常见方案(如堆栈元素)可以使用StackPanel元素方便地实现,而较为复杂的布局可以使用G


  Panel 元素和自定义布局行为

  Silverlight 包括 Panel 元素的派生套件,可以实现许多复杂的布局。常见方案(如堆栈元素)可以使用 StackPanel 元素方便地实现,而较为复杂的布局可以使用 Grid 来实现。

  下表概括了可用的布局元素。

  Canvas

  定义一个区域,在此区域内,您可以使用相对于 Canvas 区域的坐标显式定位子元素。

  Grid

  定义由行和列组成的灵活网格区域。

  StackPanel

  将子元素排列成一行(可沿水平或垂直方向)。

  上述每个布局容器都要考虑可能影响子元素排列方式的不同属性。

  Margin

  在对象及其布局槽之间创建空间。

  HorizontalAlignment 和VerticalAlignment

  将对象定位到其布局槽内。

  Canvas.ZIndex

  在两个对象重叠时将一个对象定位到另一个对象的顶部。

  除了应用面板布局逻辑外,您还可以使用变换和动画来更改对象的位置。

  在需要不可能使用任一预定义的 Panel 元素来实现的应用程序布局的情况下,自定义布局行为可以通过以下方式来实现:从 Panel 继承并使用 MeasureOverride 和 ArrangeOverride 方法重写默认度量和排列行为。
 


  窗口大小调整

  尽管使用 Canvas 对对象进行绝对定位在某些情况下很有用,但是在大小可变的浏览器窗口中,这通常是一个很糟糕的策略。绝对定位不允许对象根据浏览器窗口的大小调整在页面上重新排列,对象保留在各自的指定像素位置。

  StackPanel 和 Grid 允许内容重新排列。Grid 对象是 Visual Studio Silverlight 模板使用的根元素。尽管在使用方面 Grid 对象比其他 Panel 对象要复杂一些,但是它支持内容的重新排列,并且其灵活性足以使您创建各种对象布局。

  要获得最佳的窗口大小调整行为(除了使用 Panel 对象定位子对象外),通常来说最好的办法是将 DOM 的宽度和高度属性保留为 100%,并且在 XAML 文件的根元素或布局根元素中不包含任何宽度或高度声明。

  例如,在下面的 XAML 中,根元素或布局元素都没有定义宽度或高度。

  

 

 

本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2