WPF 之 布局(三)

2022-02-06 18:24:06 字數 2034 閱讀 4915

六、dockpanel

dockpanel定義乙個區域,在此區域中,您可以使子元素通過描點的形式排列,這些物件位於 children 屬性中。停靠面板其實就是在winform類似於dock屬性的元 素。dockpanel會對每個子元素進行排序,並停靠在面板的一側,多個停靠在同側的元素則按順序排序。 

如果將 lastchildfill 屬性設定為 true(預設設定),那麼無論對 dockpanel 的最後乙個子元素設定的其他任何停靠值如何,該子元素都將始終填滿剩餘的空間。若要將子元素停靠在另乙個方向,必須將 lastchildfill 屬性設定為 false,還必須為最後乙個子元素指定顯式停靠方向。

預設情況下,面板元素並不接收焦點。要強制使面板元素接收焦點,請將 focusable 屬性設定為 true。

注意:螢幕上 dockpanel 的子元素的位置由相關子元素的 dock 屬性以及這些子元素在 dockpanel 下的相對順序確定。因此,具有相同 dock 屬性值的一組子元素在螢幕上的位置可能不同,具體取決於這些子元素在 dockpanel 下的順序。子元素的順序會影響定位,因為 dockpanel 會按順序迭代其子元素,並根據剩餘空間來設定每個子元素的位置。  

七、viewbox

viewbox這個控制項通常和其他控制項結合起來使用,是wpf中非常有用的控制項。定義乙個內容容器。viewbox元件的作用是拉伸或延展位於其中的元件,以填滿可用空間,使之有更好的布局及視覺效果。

乙個 viewbox中只能放乙個控制項。如果多新增了乙個子控制項就會報錯。

元件常用屬性:

child:獲取或設定乙個viewbox元素的單一子元素。

stretch:獲取或設定拉伸模式以決定該元件中的內容以怎樣的形式填充該元件的已有空間。具體設定值如下:

成員名稱

說明

none

內容保持其原始大小。

fill

調整內容的大小以填充目標尺寸。 不保留縱橫比。

uniform

在保留內容原有縱橫比的同時調整內容的大小,以適合目標尺寸。

uniformtofill

在保留內容原有縱橫比的同時調整內容的大小,以填充目標尺寸。 如果目標矩形的縱橫比不同於源矩形的縱橫比,則對源內容進行剪裁以適合目標尺寸。

stretchdirection:獲取或設定該元件的拉伸方向以決定該元件中的內容將以何種形式被延展。具體的設定值如下。

成員名稱

說明

uponly

僅當內容小於父項時,它才會放大。 如果內容大於父項,不會執行任何縮小操作。

downonly

僅當內容大於父項時,它才會縮小。 如果內容小於父項,不會執行任何放大操作。

both

內容根據 stretch 屬性進行拉伸以適合父項的大小。

九、border

border 是乙個裝飾的控制項,此控制項繪製邊框及背景,在 border 中只能有乙個子控制項,若要顯示多個子控制項,需要將乙個附加的 panel 控制項放置在父 border 中。然後可以將子控制項放置在該 panel控制項中。

border 的幾個重要屬性:

background:用用乙個 brush 物件來繪製背景 ;

borderbrush:用乙個brush 物件來繪製邊框 ;

borderthickness:此屬性設定 border 邊框的大小;

cornerradius:此屬性設定 border 的每乙個角圓的半徑;

padding:此r屬性設定 border 裡的內容與邊框的之間的間隔。

九、scrollviewer

因為計算機螢幕的顯示區域大小是固定的,如果我們要顯示給使用者看的內容,大大超出了計算機螢幕的最大顯示區域、窗體、容器的限定顯示頁面,則超出的部分就會破壞原有的布局,這個時候我們就要使用類似於瀏覽器的那個滾動條的效果了。利用 scrollviewer 控制項可以方便地使應用程式中的內容具備滾動條功能。

WPF 之 布局(三)

六 dockpanel dockpanel定義乙個區域,在此區域中,您可以使子元素通過描點的形式排列,這些物件位於 children 屬性中。停靠面板其實就是在winform類似於dock屬性的元 素。dockpanel會對每個子元素進行排序,並停靠在面板的一側,多個停靠在同側的元素則按順序排序。如...

關於WPF(三)布局

wpf用不同的容器 container 安排布局。每個容器有各自的布局邏輯 有些容器以堆疊方式布置元素,另一些容器在網格中不可見的單元格中排列元素,等等。1.1.wpf布局原則 wpf視窗只能包含單個元素。為在wpf視窗中放置多個元素並建立更貼近實用的使用者介面,需要在視窗上放置乙個容器,然後在這個...

WPF之路 WPF布局系統

0,什麼是布局 這是乙個很簡單的問題。簡單來說,就是把一些控制項有條理的擺放在介面上合適的位置,顯然擺的亂七八糟不能算布局。在wpf中,這個條理與winform中略有不同,讓我們看個很簡單的介面 這樣子的介面大家在熟悉不過了。依圖所示,wpf先用藍線 假設的線 將介面劃分為上下兩部分,然後再有紅線劃...