WPF布局的6種面板


  WPF用於布局的面板主要有6個,StackPanel(棧面板)、WrapPanel(環繞面板)、DockPanel(停靠面板)、Canvas(畫布)、Grid(網格面板)和 UniformGrid(均布網格)。一下詳細介紹幾種面板各自的特點:

1、StackPanel

  棧面板,可以將元素排列成一行或者一列。其特點是:每個元素各占一行或者一列。Orientation屬性指定排列方式:Vertical(垂直)【默認】、Horizontal(水平)。默認情況下,水平排列時,每個元素都與面板一樣高;垂直排列時,每個元素都與面板一樣寬

2、WrapPanel

  環繞面板,當元素布局到達邊界時,可以自動換行。用法與StackPanel一樣。

3、DockPanel

  停靠面板,可以將面板的某一邊指定給每個元素,當面板大小變化時,按鈕將根據指定的邊進行停靠。在DockPanel中,指定停靠邊的控件,會根據定義的順序占領邊角,所有控件絕不會交疊。默認情況下,后添加的元素只能使用剩余空間,最后一個元素填充所有剩余空間。如果不希望最后一個元素填充剩余區域,可以將DockPanel屬性LastChildFill設置為False。

4、Canvas

  畫布,用於完全控制每個元素的精確位置。他是布局控件中最為簡單的一種,直接將元素放到指定位置,主要來布置圖畫。使用Canvas時,必須指定一個字元素的位置(相對於畫布),否則所有元素都將出現在畫布的左上角。調整位置用Left、Right、Top和Bottom四個附加屬性。如果Canvas是窗口主元素,用戶改變窗口大小時,Canvas也會隨之變化,字元素的位置也會隨之移動,以保證相對於Canvas的位置屬性不變。Canvas允許子元素的部分或全部超過其邊界,默認不會剪裁子元素,同時可以使用負坐標,因此畫布不需要指定大小。如果想復制畫布內容,將ClipToBounds設為true即可。

5、Grid

  網格面板,以表格形式布局元素,對於整個面板上的元素進行布局,有效地解決多行之間、多列之間位置的一致性。Grid很像網頁中的Table,定義一個網格,需要定義行、列,划分單元格,坐標從(0,0)開始。列寬和行高,分別可以在ColumnDefinition、RowDefinition里面指定Width、Height的值。首先定義網格,然后定義元素,並指定元素所在的單元格。如果不定義單元格,默認將元素放到第一個單元格(0,0)。

6、UniformGrid

  均布網格, 顧名思義,所有單元格均勻排布,大小都相同。你可以為其指定行數Rows和列數Columns,UniformGrid將根據行列平分畫布,每個控件一個單元格。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM