面板是wpf中最重要的控制項之一,用於存放其他控制項,或者控制視窗/頁面的布局。由於乙個窗體只能放置乙個子控制項,因此面板用來隔成多塊區域,這些區域各自可以放置乙個控制項或者面板(別忘了面板也是控制項)。
面板分不同的形式,每一種都有其自己處理布局以及控制其子控制項的方式。因此選擇一種合適的面板對於實現你想要的形式和布局非常重要,尤其是你剛開始用wpf的時候,不是那麼容易。下面的內容將簡單地介紹每種面板,讓你大致明白什麼時候該用哪種。然後在後面的章節,我們將仔細介紹每一種面板。
canvas畫布
它是乙個簡單的面板,模仿了winforms的處理方式。允許你指定每個子控制項的具體座標,以控制整個布局。但是不是很靈活,你必須手動移動子控制項來保證它們按你設想的來排列。最好只在需要完全控制子控制項的位置時,才使用該面板。
該面板用於乙個接乙個的排列控制項,以水平或者垂直方向,當空間不足時就會自動切換到下一行。比較適合用於需要水平或者垂直排列控制項的情況。
stackpanel
dockpanel
dockpanel用於把子控制項鎖定於頂部、底部、左邊或者右邊。預設情況下,如果最後乙個控制項沒有被指定具體位置,就會填充剩餘的空間。grip面板也可以實現這個,但是dockpanel使用起來更簡單。適用於鎖定乙個或多個控制項到某乙個部位,就像把視窗分成幾個區域一樣。
grid
grid面板也許是最複雜的面板型別了。grip可以包含多行多列。你可以定義每一行的高度和每一列的寬度,通過乙個畫素值、可用空間的百分比或者自動分配這三種方式。自動分配會根據內容自動調整行高和列寬。grip一般用於其他面板無法實現的情形,譬如如你需要很多列而且需要聯合其他面板。
uniformgrid
uniformgrid和grid相比,有乙個很大的區別:所有行或者列尺寸必須統一。適用於不需要指定不同尺寸的行高和列寬的情形。
WPF教程四 布局之DockPanel面板
dockpanel 停靠面板 dockpanel定義乙個區域,在此區域中,您可以使子元素通過描點的形式排列,這些物件位於 children 屬性中。停靠面板類似於winform中控制項的dock屬性。dockpanel會對每個子元素進行排序,並將根據指定的邊進行停靠,多個停靠在同側的元素則按順序排序...
WPF教程五 布局之Canvas面板
canvas 畫布面板 畫布,用於完全控制每個元素的精確位置。他是布局控制項中最為簡單的一種,直接將元素放到指定位置,主要來布置圖面。使用canvas,必須指定乙個子元素的位置 相對於畫布 否則所有元素都將出現在畫布的左上角。調整位置用left right top和bottom四個附加屬性。如果ca...
mySQL筆記(二十三) 索引1 簡介 結構 分類
索引官方定義 索引 index 是幫助mysql高效獲取資料的資料結構。一般來說索引本身很大,不可能全部存在記憶體中,因此索引往往以索引檔案的形式儲存在磁碟上。優勢 提高資料檢索的效率,降低資料庫io成本 通過索引對資料進行排序,降低資料排序的成本,降低了cpu消耗。劣勢 雖然索引大大提高了查詢速度...