文档地址 :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接受任何类型的项。然而,以下项目类型是最典型的:
-. LayoutGroup。它表示一个容器控件,可以并排(在一行或一列中)或以选项卡的形式显示其子控件。您可以使用LayoutGroup。View属性指定布局组的视觉样式:
LayoutGroupView.GroupBox
根据LayoutGroup,该组的孩子被安排在一列或一行中。方向属性。
在此模式下,组的标题(LayoutGroup.header)和边框可见。此外,还可以通过LayoutGroup启用组折叠功能。
-. LayoutGroupView.Group:
该组呈现为无外观容器,没有边框和标题。与前面的视觉样式一样,项目根据LayoutGroup排列在一列或一行中。方向属性。
-. LayoutGroupView.Tabs:
该组呈现为选项卡式组,其中直接子级表示为选项卡。通过将多个项目组合到单个布局组中,并将该组作为子项添加到选项卡组中,可以在单个选项卡中显示多个项目。
要为子项指定选项卡标题,请使用以下属性。如果LayoutGroup是选项卡式组的子级,请使用该组的LayoutGroup。标题属性。对于其他项目,请使用LayoutControl。TabHeader附加属性。
LayoutControl将位于选项卡组中非活动选项卡内的元素的IsEnabled属性设置为False。选择以前不活动的选项卡后,iEnabled属性值将恢复。
LayoutItem:这是一个显示控件标签的对象:
它还具有组内和组间控件的自动对齐功能。有关详细信息,请参阅布局项目和组。
在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