各種WPF容器控件類別總結
WPF中有很多功能強大的控件可以供我們方便使用。這些控件的掌握對于我們實際編程開發(fā)具有很大的作用。下面我們就為大家講解一些WPF容器控件的相關介紹。#t#
Grid、Canvas 或 StackPanel 等WPF容器控件通過提供內置布局功能允許您快速設計各種有效的用戶界面。每種容器控件處理其包含的控件的布局和位置,并且可以向包含的控件提供有助于定位的屬性。本主題概述了不同類型的容器控件以及這些容器控件如何影響其包含的控件的布局。
Grid
最為熟悉的WPF容器控件是 Grid 控件。默認情況下,在 Visual Studio Windows Presentation Foundation (WPF) 設計器中打開的每個新 Window 中都包含一個 Grid 控件。Grid 允許您將控件放置在用戶可定義的單元格內。對于放置在單元格內的控件,在調整 Window 的大小時,兩個或更多個控件邊緣與單元格邊緣之間的邊距保持固定不變。有關如何設置邊距的更多信息,請參見如何:在 WPF 設計器中設置控件的邊距。
添加到 Window 中時,Grid 控件包括單個單元格??梢栽诖a中或 WPF 設計器中添加更多垂直和水平行。有關更多信息,請參見如何:向網格中添加行和列。
UniformGrid
UniformGrid 控件為控件提供了一種簡化的網格布局。當控件添加到 UniformGrid 時,它們會排列在一個網格模式中,該網格模式會自動調整以使控件之間的距離保持均勻。單元格的數(shù)目將進行調整,以適應控件的數(shù)目。例如,如果四個WPF容器控件添加到 UniformGrid 中,它們將安排在包含四個單元格的網格中。
Canvas
Canvas 控件支持絕對定位并為其包含的控件提供最少的內置布局功能。Canvas 允許您將包含的控件放置在距離面板的任一角有一定偏移量的位置。Canvas 為包含的WPF容器控件提供四種屬性:Top、Bottom、Right 和 Left。Canvas 控件內包含的控件必須指定一個水平屬性和一個垂直屬性,并借此指定該控件將要偏離的角。例如,如果某個控件為 Top 和 Right 指定值,則該控件將與右上角之間保持不變的距離。如果為多個水平或垂直屬性指定值,則這些值中的一個將被忽略。有關更多信息,請參見如何:根據(jù)絕對定位構造布局。
StackPanel
StackPanel 要么垂直疊放包含的控件,要么將包含的WPF容器控件排列在水平行中,具體情況取決于 Orientation 屬性的值。如果將比 StackPanel 的寬度能顯示的控件還要多的控件添加到 StackPanel 中,這些控件將被截掉且不顯示。
WrapPanel
在根據(jù) Orientation 屬性垂直疊放WPF容器控件或者在行中放置控件方面,WrapPanel 與 StackPanel 類似。除了疊放外,WrapPanel 還為包含的控件提供了換行支持。因此,如果將比 WrapPanel 的寬度能顯示的控件還要多的控件添加到 WrapPanel 中,這些控件將換行以形成另一個疊放或行。
DockPanel
DockPanel 提供??恐С?,以便讓工具欄或您希望停靠在面板一側的其他控件容易定位。DockPanel 控件向包含的WPF容器控件提供了一個名為 DockStyle 的屬性,該屬性決定包含的控件的定位方式。例如,DockStyle 屬性設置為 DockStyle.Top 的控件將停靠到 DockPanel 頂部。DockPanel 還公開了一個名為 LastChildFill 的屬性。當此屬性為 true 時,添加到 DockPanel 中的***一個子控件將使其 DockStyle 屬性自動設置為 true。