Dev學習地址
文檔地址 :https://docs.devexpress.com/
wpf:https://docs.devexpress.com/WPF/7875/wpf-controls
winform:https://docs.devexpress.com/WindowsForms/7874/winforms-controls
asp.NET:?https://docs.devexpress.com/AspNet/7873/aspnet-webforms-controls
blazor :https://docs.devexpress.com/Blazor/400725/blazor-components
概述
LayoutControl是一個項目容器,將這些項目安排在一行或一列中。
可以將LayoutGroup容器作為子容器添加到LayoutControl。LayoutGroup容器允許您將其項目并排(垂直或水平)或作為選項卡進行排列。LayoutGroup可以包含其他LayoutGroup對象作為子對象,以不同的方向排列它們的項目。這允許創建非線性布局:
使用LayoutControl的最大好處是,它會自動維護子控件的一致布局。即使調整窗口大小、添加或刪除控件,或者更改控件的字體設置,控件也不會重疊。(如果手動調整控件的邊距屬性,控件可能會重疊)。
除了一致的布局功能外,LayoutControl還提供以下功能:
使用LayoutItem包裝器自動對齊嵌入LayoutControl的控件。這些控件將根據其關聯的標簽自動與其左邊緣對齊。有關詳細信息,請參見對齊布局項的內容。
通過內置大小調整器調整子項和組的大小。
在組或布局控件中對齊項目。可以將項目與其父控件的任何邊緣對齊、居中或拉伸。當父項的大小更改時,該項將相應地調整其位置。有關詳細信息,請參見在LayoutGroup和LayoutControl對象中對齊項目。
在自定義模式下自定義布局。在此模式下,最終用戶可以通過拖放修改項目的布局,并更改組內控件的對齊方式。有關詳細信息,請參見自定義模式。
組可以呈現為選項卡容器或GroupBox對象(帶有標題的容器)。
LayoutControl的元素
LayoutControl接受任何類型的項。然而,以下項目類型是最典型的:
-. LayoutGroup。它表示一個容器控件,可以并排(在一行或一列中)或以選項卡的形式顯示其子控件。您可以使用LayoutGroup。View屬性指定布局組的視覺樣式:
LayoutGroupView.GroupBox
根據LayoutGroup,該組的孩子被安排在一列或一行中。方向屬性。
在此模式下,組的標題(LayoutGroup.header)和邊框可見。此外,還可以通過LayoutGroup啟用組折疊功能。
-.?LayoutGroupView.Group:
該組呈現為無外觀容器,沒有邊框和標題。與前面的視覺樣式一樣,項目根據LayoutGroup排列在一列或一行中。方向屬性。
-. LayoutGroupView.Tabs:
該組呈現為選項卡式組,其中直接子級表示為選項卡。通過將多個項目組合到單個布局組中,并將該組作為子項添加到選項卡組中,可以在單個選項卡中顯示多個項目。
要為子項指定選項卡標題,請使用以下屬性。如果LayoutGroup是選項卡式組的子級,請使用該組的LayoutGroup。標題屬性。對于其他項目,請使用LayoutControl。TabHeader附加屬性。
LayoutControl將位于選項卡組中非活動選項卡內的元素的IsEnabled屬性設置為False。選擇以前不活動的選項卡后,iEnabled屬性值將恢復。
LayoutItem:這是一個顯示控件標簽的對象:
它還具有組內和組間控件的自動對齊功能。有關詳細信息,請參閱布局項目和組。
Items排布
在LayoutControl中將LayoutGroups用作子級可以實現復合布局。考慮在LayoutControl中排列的項目的以下布局:
要創建上圖所示的布局,將要按相同方向排列的項目組合到同一組中。然后,將這些組合并到其他組中,等等。為了了解此布局是如何構建的,讓我們讓組的邊框和標題可見:
在這里,這些項目組合如下:
LayoutControl垂直排列組1和組5。
第一組水平排列第二組和一個標簽組。
第2組垂直排列第1項和第3組。
第3組水平排列第2項和第4組。
第四組垂直排列兩個項目。
選項卡組包含兩個選項卡(選項卡1和選項卡2)。每個選項卡都包含特定的項。例如,由布局組表示的選項卡1垂直排列項目5和項目6。
第五組水平排列三個項目。
最后聲明
本文翻譯自:https://docs.devexpress.com/WPF/8147/controls-and-libraries/layout-management/tile-and-layout/layout-and-data-layout-controls/layout-control
技術群:添加小編微信并備注進群
小編微信:mm1552923 ??
公眾號:dotNet編程大全? ??