WPF中的六大控件類型
1.布局控件:可以容納多個控件或者其它布局控件,例如Grid,StackPanel,DockPanel,父類:Panel。
2.內容控件:只能容納一個其它控件或者布局控件作為它的內容。Window,Button等控件屬於此類。父類:ContentControl.
3.帶標題內容控件:相當於一個內容控件,但可以加一個標題,標題部分也可以容納一個控件或者一個布局控件。GroupBox,TabItem.父類:HeaderedContentControl.
4.條目控件:可以顯示一列數據,它們的類型一般情況下相同。ListBox,ComboBox。父類:ItemsControl
5.帶標題條目控件:相當於一個條目控件加上一個標題顯示區。TreeViewItem,MenuItem都屬於此類控件。父類:HeaderedItemsControl.
6.特殊內容控件:比如TextBox容納的是字符串,TextBlock可以容納可自由控制格式的文本Image容納圖片類型數據
UI布局
1.Grid:網格。可以自定義和列並通過行列的數量,行高和列寬來調整控件的布局,類似於HTML中的Table.適合的場景有:
UI布局的大框架的設計,大量UI元素需要成行或者成列對齊的情況,UI整體尺寸發生變化時,元素需要保持固有的寬高比例。
2.StackPanel:棧式面板。可將包含的元素在豎直或水平方向上排成一條直線。當移除第一個元素的時候,后面的元素會自動向前移動以填充空缺。實用的場景有:
同類元素需要緊湊排列(如制作菜單或列表),移除其中的元素后能自動補缺的布局或者動畫。
3.Canvas:畫布。內部元素可以使用以像素為單位的絕對坐標進行定位,類似於WindowsFrom編程的布局方式。適用的場景有:
一經設計就不會改動的小型布局(如圖標),藝術性比較強的布局,需要大量使用橫縱坐標進行絕對定位的布局,依賴於橫縱坐標的動畫。
4.DockPanel:泊靠式面板。內部元素可以選擇泊靠的方向,類似於在Windows From中的設置控件的Dock屬性。
5.WrapPanel:自動折行面板。內部元素在排滿一行后能夠自動折行,類似於HTML中的流式布局。