柚子快報邀請碼778899分享:c# WPF常用的布局面板
概述:本文簡要介紹了WPF布局面板的使用以及其相關的屬性。
目錄
一、面板
二、面板控件的使用
1.StackPanel
2.WrapPanel
3.DockPanel
?4.Canvas
5.Grid
6.VirtualizingStackPanel
前言
如果是初次學習WPF,建議先了解一下WPF概述,以便選著合適的章節(jié)學習。
一、面板
面板控件含義StackPanel在堆疊面板中,子元素允許以水平或垂直方式堆疊。WrapPanel基于orientation屬性,子元素按照從左到右或從上到下的順序排列。DockPanel以排列相對于彼此的子元素,水平或垂直。Dock屬性可以將子元素??吭陧敳?,底部,右側(cè),左側(cè)和中部。Canvas畫布面板可以使用相對于畫布任意一側(cè)(例如左,右,頂部和底部)的坐標來定位子元素。Grid網(wǎng)格面板由行和列組成。網(wǎng)格中的子元素可以以表格形式排列。VirtualizingStackPanel虛擬化的 StackPanel,可以顯示其中一部分的內(nèi)容,使用此控件則可大幅提高呈現(xiàn)效率。
二、面板控件的使用
1.StackPanel
按照水平線方向或垂直線方向排列子控件。
常用的屬性:
屬性含義Margin控制內(nèi)部控件的外邊距HorizontalAlignment設定控件的豎直對齊方式,如,設置水平對齊為Left、Right或CenterVerticalAlignment設定控件的水平對齊方式,設置水平對齊為Top、Center、Stretch或BottomMinWidth允許的最小寬度MinHeight允許的最小高度MaxWidth隨控件變化時,允許的最大寬度MaxHeight隨控件變化時,允許的最大高度
代碼如下(示例):
效果圖:
注意:
Margin="10"表示各邊距均為10; Margin="10,20,30,40"表示設定左、上、右、下各邊緣分別為10、20、30、40。 HorizontalAlignment屬性需要在StackPanel面板設置Orientation="Vertical"的前提下; VerticalAlignment屬性需要在StackPanel面板設置Orientation="Horizontal"的前提下。
2.WrapPanel
WrapPanel 可以讓元素水平和垂直方向固定,在空間不足會自動換行。
常用屬性:
屬性含義Orientation獲取或設置一個值,該值指定子內(nèi)容的排列方向,默認是按水平方向排列Background獲取或設置用于填充 Brush 的邊框之間的區(qū)域的 PanelHorizontalAlignment獲取或設置在父元素中組合此元素時所應用的水平對齊特征VerticalAlignment獲取或設置在父元素中組合此元素時所應用的垂直對齊特征Margin獲取或設置元素的外邊距Opacity透明度
代碼如下(示例):
效果圖:
3.DockPanel
DockPanel可以將內(nèi)容布局到4個方向Top,Left,Bottom,Right。?
常用屬性:
屬性含義Dock子元素用4個值Left、Top、Right、Bottom來控制它們的停靠HorizontalAlignment獲取或設置在父元素中組合此元素時所應用的水平對齊特征VerticalAlignment獲取或設置在父元素中組合此元素時所應用的垂直對齊特征Margin獲取或設置元素的外邊距Opacity透明度LastChildFill該值指示 DockPanel 中的最后一個子元素是否拉伸以填充剩余的可用空間,默認填充
代碼如下(示例):
效果圖:?
?4.Canvas
Canvas設置其子控件相對于它的Top, Left, Bottom., Right值來進行定位其子控件 如果坐標區(qū)域重合,會產(chǎn)生重疊。
常用屬性:
屬性含義Background背景Opacity透明度Margin獲取或設置元素的外邊距RenderTransform獲取或設置影響此元素的呈現(xiàn)位置的轉(zhuǎn)換信息RenderTransformOrigin獲取或設置由 RenderTransform 聲明的任何可能呈現(xiàn)轉(zhuǎn)換的中心點,相對于元素的邊界
代碼如下(示例):
效果圖:?
5.Grid
Grid常用屬性:
屬性含義BackgroundBrush對象,背景顏色的設置和獲取Clip獲取或設置用于定義元素內(nèi)容輪廓的幾何圖形IsHitTestVisible該值聲明是否可以返回此元素作為其呈現(xiàn)內(nèi)容的某些部分的點擊測試結果,是否穿透控件Margin獲取或設置元素的外邊距Opacity透明度Style獲取或設置此元素呈現(xiàn)時所使用的樣式
關于行列表格設置屬性:
屬性含義RowDefinitionCollection一個或多個 RowDefinition 元素。每個此類 RowDefinition 都成為表示最終網(wǎng)格布局中的行的占位符。ColumnDefinitionCollection一個或多個 ColumnDefinition 元素。每個此類 ColumnDefinition 都將成為表示最終網(wǎng)格布局中的列的占位符。Grid.RowDefinitions屬性值為RowDefinition標簽,每一個RowDefinition標簽將該Grid對象分為一行Grid.ColumnDefinitions屬性值為ColumnDefinition標簽,每一個ColumnDefinition標簽將該Grid對象分為一列Grid.ColumnSpan該控件占幾列,或者說是跨多少列Grid.RowSpan該控件占幾行,或者說是跨幾行
代碼如下(示例):
效果圖:
?
6.VirtualizingStackPanel
VirtualizingStackPanel是StackPanel的變體,該控件支持對數(shù)據(jù)綁定的虛擬化,在承載許多子項時,這將大幅提高性能。
代碼如下(示例):
使用 VirtualizingStackPanel來代替ComboBox默認的項目面板StackPanel。
效果圖:
柚子快報邀請碼778899分享:c# WPF常用的布局面板
精彩鏈接
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。