Silverlight布局系统:从容器到页面的全面解析
1. 布局基础与元素排列规则
在进行元素排列时,不能传递无限大小的值。不过,可以通过传递元素 DesiredSize 属性的值来赋予其所需的大小,也可以为元素提供比其所需更多的空间,这种情况很常见。例如,垂直的 StackPanel 会为子元素提供其请求的高度,但会给予其面板本身的全宽; Grid 可能会使用固定或按比例大小的行,这些行可能比内部元素的所需大小更大。当元素被设置得比其所需大小更大时, HorizontalAlignment 和 VerticalAlignment 属性就会发挥作用,元素内容会被放置在给定的边界内。
ArrangeOverride() 方法总是接收一个定义好的大小(而非无限大小),因此可以返回传入的 Size 对象来设置面板的最终大小。许多布局容器会采取这一步骤来占据所有给定的空间,因为布局系统的测量步骤确保了除非有可用空间,否则不会给予超过所需的空间。
2. 自定义布局容器:UniformGrid
UniformGrid 是一个实用的自定义布局容器,它可以将子元素排列成自动生成的、大小相等的单元格。它是常规 Grid 的轻量级替代方案,不需要明确定义行和列,也无需手动将每个子元素放置在正确的单元格中,在显示一组平铺图像时特别有用。
UniformGrid
超级会员免费看
订阅专栏 解锁全文
56

被折叠的 条评论
为什么被折叠?



