WPF布局及布局容器介紹
WPF布局基礎(chǔ)
WPF布局原則
- 一個(gè)窗口中只能包含一個(gè)元素
- 不應(yīng)顯示設(shè)置元素尺寸
- 不應(yīng)使用坐標(biāo)設(shè)置元素的位置
- 可以嵌套布局容器
WPF布局容器
- StackPanel: 水平或垂直排列元素、Orientation屬性分別: Horizontal / Vertical
- WrapPanel : 水平或垂直排列元素、針對(duì)剩余空間不足會(huì)進(jìn)行換行或換列進(jìn)行排列
- DockPanel : 根據(jù)容器的邊界、元素進(jìn)行Dock.Top、Left、Right、Bottom設(shè)置
- Grid : 類(lèi)似table表格、可靈活設(shè)置行列并放置控件元素、比較常用
- UniformGrid : 指定行和列的數(shù)量, 均分有限的容器空間
- Canvas : 使用固定的坐標(biāo)設(shè)置元素的位置、不具備錨定??康裙δ?。
布局容器詳解
StackPanel
StackPanel主要用于垂直或水平排列元素、在容器的可用尺寸內(nèi)放置有限個(gè)元素,元素的尺寸總和(長(zhǎng)/高)不允許超過(guò)StackPanel的尺寸, 否則超出的部分不可見(jiàn)。
WrapPanel
WrapPanel默認(rèn)排列方向與StackPanel相反、WrapPanel的Orientation默認(rèn)為Horizontal。
WrapPanel具備StackPanel的功能基礎(chǔ)上具備在尺寸變更后自動(dòng)適應(yīng)容器的寬高進(jìn)行換行換列處理。
DockPanel
默認(rèn)DockPanel中的元素具備DockPanel.Dock屬性, 該屬性為枚舉具備: Top、Left、Right、Bottom。
默認(rèn)情況下, DockPanel中的元素不添加DockPanel.Dock屬性, 則系統(tǒng)則會(huì)默認(rèn)添加 Left。
DockPanel有一個(gè)LastChildFill屬性, 該屬性默認(rèn)為true, 該屬性作用為, 當(dāng)容器中的最后一個(gè)元素時(shí), 默認(rèn)該元素填充DockPanel所有空間。
Grid
學(xué)過(guò)web的老弟應(yīng)該知道table表格, 而Grid與其類(lèi)似, Grid具備分割空間的能力。
RowDefinitions / ColumnDefinitions 用于給Grid分配行與列。
ColumnSpan / RowSpan 則用于設(shè)置空間元素的 跨列與闊行。
Canvas
該容器就相當(dāng)于一個(gè) "地圖", 包含內(nèi)的所有控件元素, 則都通過(guò)使用XY來(lái)定位, 由于不太常用, 所以簡(jiǎn)單掠過(guò)。
到此這篇關(guān)于WPF布局及布局容器介紹的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
析構(gòu)函數(shù)的作用 什么是析構(gòu)函數(shù)
這篇文章主要講述了析構(gòu)函數(shù)的概念、原理、功能以及定義格式,析構(gòu)函數(shù)是C#程序設(shè)計(jì)中比較重要的概念,需要的朋友可以參考一下2007-12-12ASP.Net頁(yè)面生命周期與Page_Load方法的工作原理介紹
這篇文章介紹了ASP.Net頁(yè)面生命周期與Page_Load方法的工作原理,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05搭建基礎(chǔ)結(jié)構(gòu)的ABP解決方案介紹
這篇文章介紹了搭建基礎(chǔ)結(jié)構(gòu)的ABP解決方案的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02詳解ABP框架中的數(shù)據(jù)過(guò)濾器與數(shù)據(jù)傳輸對(duì)象的使用
ABP框架是一個(gè)基于ASP.NET的Web開(kāi)發(fā)框架,這里我們來(lái)詳解ABP框架中的數(shù)據(jù)過(guò)濾器與數(shù)據(jù)傳輸對(duì)象的使用,需要的朋友可以參考下2016-06-06