WPF 容器控制項概觀
Grid、Canvas 或 StackPanel 這類的容器控制項提供內建的配置功能,可以讓您快速設計各種功能性使用者介面。 每個容器控制項會處理所包含控制項的配置和位置,並可以提供所包含控制項能夠幫助定位的屬性。 本主題提供各種類型內容控制項的概觀,以及他們對所包含控制項的影響方式。
配置進位
設定容器控制項的 UseLayoutRounding 屬性,可以指定 Measure 和 Arrange 傳遞期間計算的非整數像素值何時捨入為整數像素值。 這個屬性會由子控制項繼承。
Grid
最為熟悉的容器控制項是 Grid 控制項。 根據預設,在 WPF Designer for Visual Studio 中開啟的每個新 Window 都包含 Grid 控制項。 Grid 可以讓您將控制項定位在使用者可定義的儲存格內。 當 Window 調整大小時,儲存格中置放的控制項會在兩個以上的控制項邊緣和儲存格邊緣之間維持固定邊界。 如需如何設定邊界的詳細資訊,請參閱 HOW TO:在 WPF 設計工具中設定控制項的邊界。
在加入到 Window 時,Grid 控制項包含單個儲存格。 其他的垂直和水平資料列可以在程式碼或 WPF 設計工具中加入。 如需詳細資訊,請參閱 HOW TO:在方格中加入資料列和資料行。
UniformGrid
UniformGrid 控制項提供控制項最簡單的方格配置。 當控制項加入到 UniformGrid 時,所配置到的方格模式會自動調整,以在控制項間保持平均分配的距離。 儲存格的數目也會調整以容納控制項的數目。 例如,如果在 UniformGrid 中加入 4 個控制項,就會排列在具有 4 個儲存格的方格中。
Canvas
Canvas 控制項支援絕對位置,而且可為其包含的控制項提供最少的內建配置功能。 Canvas 可以讓您將包含的控制項定位在相對於面板任一角落的位移位置。 Canvas 為包含的控制項提供四個屬性:Top、Bottom、Right 和 Left。 Canvas 控制項中包含的控制項必須指定一個水平屬性和一個垂直屬性,從而指定控制項位移是相對於哪個角落。 例如,如果控制項指定了 Top 和 Right 的值,就會與右上角維持一定的距離。 如果指定的水平或垂直屬性值超過一個,則其中一個值會被忽略。 如需詳細資訊,請參閱 HOW TO:根據絕對位置建構配置。
StackPanel
StackPanel 會將所包含控制項排列在垂直堆疊或是水平資料列中,這是由 Orientation 屬性值所決定的。 如果加入 StackPanel 的控制項比 StackPanel 寬度所能顯示的多,就會切斷控制項而不加以顯示。
WrapPanel
WrapPanel 與 StackPanel 相似之處,在於控制項是依據 Orientation 屬性而定位在堆疊或是資料列中。 除了堆疊之外,WrapPanel 提供所包含控制項的換行支援。 因此,如果加入 WrapPanel 的控制項比 WrapPanel 寬度所能顯示的多,控制項就會換行以形成其他的堆疊或資料列。
DockPanel
DockPanel 提供的停駐支援,可以將您想要停駐到面板側邊的工具列或其他控制項輕鬆定位。 DockPanel 控制項提供名為 DockStyle 的屬性給所包含控制項,以決定他們的定位方式。 例如,DockStyle 屬性設為 DockStyle.Top 的控制項會停駐在 DockPanel 上方。 DockPanel 也會公開名為 LastChildFill 的屬性。 當這個屬性為 true 時,最後一個加入到 DockPanel 的子控制項的 DockStyle 屬性會自動設為 true。
TabControl
TabControl 類別 (Class) 包含共用相同螢幕空間的多個索引標籤項目。 您可以使用 WPF 設計工具來加入及移除索引標籤項目。 如需詳細資訊,請參閱 HOW TO:加入索引標籤項目至 TabControl。