1.StackPanel:堆棧面板,通過Orientation屬性設置子元素的佈局排列方向為“Vertical”(垂直)和“Horizontal”(水平),不寫其預設值為“Vertical”,當設置為“Vertical”時子元素會沿垂直方向拉伸,反之設置為“Horizontal”時子元素會沿水平方向 ...
1.StackPanel:堆棧面板,通過Orientation屬性設置子元素的佈局排列方向為“Vertical”(垂直)和“Horizontal”(水平),不寫其預設值為“Vertical”,當設置為“Vertical”時子元素會沿垂直方向拉伸,反之設置為“Horizontal”時子元素會沿水平方向拉伸。
2.DockPanel:支持子元素停靠在面板的任意一條邊上,通過附加屬性Dock控制他們的停靠位置(Left、Top、Right、Bottom),填充空間按照“先到先得”的原則,最後一個加入面板的子元素將填滿剩下的空間,如不想將最後加入面板的元素填滿剩下的空間將屬性LastChildFill值設為“False”,預設為“True”。
3.WrapPanel:可換行面板與StackPanel相似,通過Orientation屬性設置子元素的排列順序,從左至右按順序位置定位子元素,當前行無法放下元素時斷開至下一行,或者排序按照從上至下或從右至左的順序進行,通過ItemHeight可以設置當前面板中所有子元素的高度,當然也有ItemWidth設置所有子元素的寬度。
4.Canvas:面板是最輕量級的佈局容器,它不會自動調整內部元素的排列和大小,不指定元素位置,元素將預設顯示在畫布的左上方。Canvas主要用來畫圖。Canvas預設不會自動裁剪超過自身範圍的內容,即溢出的內容會顯示在Canvas外面,這是因為Canvas的ClipToBounds屬性預設值是“False”,我們可以顯式地設置為“True”來裁剪多出的內容。下麵XAML代碼簡單演示了Canvas面板的使用。
5.Grid:比起其他Panel,功能是最多最為複雜的佈局控制項。它由<Grid.ColumnDefinitions>列元素集合和<Grid.RowDefinitions>行元素集合兩種元素組成。而放在Grid面板中的元素必須顯式採用附加屬性定義其所在行和列,否則元素均預設放置在第0行第0列。