Canvas、StackPanel、WrapPanel、DockPanel和Grid是WPF中主要的5种内建面板,这些面板类都位于System.Windows.Controls命名空间下。
StackPanel是一个受欢迎的面板,因为它方便好用,它会顺序对它的子元素进行排列。它是少数几个没有定义任何附加属性的面板之一。由于没有附加属性来排列子元素,只有一种方法可以定制StackPanel的行为——设置Orientation属性为Horizontal或Vertical,Vertical是默认值。
当把StackPanel的FlowDirection属性设置为RightToLeft,Orientation属性设置为Horizontal,StackPanel将从右向左排列元素。
Grid和StackPanel的区别:
1、Grid相当于表格额,几行几列都可以;
2、StackPanel相当于一行横排或者一列竖排,嵌套的话也能实现Grid效果。
Grid是以表格的方式定位子元素。可以定义行和列,然后将元素布局到表格当中。类似于Html中的Table元素。
StackPanel是以水平或者竖直方向对子元素进行排列。相当于Android中的LinearLayout,或者是JavaGUI中的FlowLayout。
StackPanel是以堆叠的方式显示其中的控件
1、可以使用Orientation属性更改堆叠的顺序
基于屏幕大小对整体 UI 布局进行调整,带有自适应面板的自适应 UI
StackPanel 将按顺序(水平或垂直)排列其子面板。 Grid 会像 CSS 网格那样将其子网格置于单元格中。
新 RelativePanel 实现了由其子元素间的关系定义的布局样式。 它旨在用于创建可适应屏幕分辨率更改的应用布局。
RelativePanel 通过定义元素间的关系简化了重新排列元素的过程,这样你便可以生成更为动态的 UI,而无需使用嵌套布局。