Container — это тип элемента управления, который определяет расположение других элементов. Логика контейнеров влияет только на непосредственные дочерние элементы. Контейнеры обычно располагают дочерние элементы каждый кадр, собирая их желаемый размер через .Measure(), а затем предоставляя им размер, который они могут себе позволить, через .Arrange(). После вычисления желаемого и доступного размеров своих дочерних элементов контейнер может при необходимости переопределить координаты дочерних компонентов. Этот документ охватывает лишь некоторые из наиболее часто используемых контейнеров. Дополнения с другими контейнерами приветствуются.
Эта страница является заготовкой; полные описания того, как контейнеры реагируют на добавление новых элементов, переполнение, тонкости GridContainer и т.д., не рассматриваются.
BoxContainer
BoxContainer — самый простой элемент управления расположением. Он размещает свои дочерние элементы последовательно в определённой Orientation, либо вертикально, либо горизонтально. Элементы не перекрываются.
| Поле | Тип | Значение по умолч. | Описание |
|---|
Orientation | LayoutOrientation | Horizontal | Располагать элементы горизонтально или вертикально. |
Align | AlignMode | Begin | Выравнивание дочерних элементов вдоль оси ориентации. |
SeparationOverride | int | 0 | Расстояние между элементами. |
GridContainer
GridContainer размещает свои дочерние элементы в настраиваемой сетке.
| Поле | Тип | Значение по умолч. | Описание |
|---|
Columns | int | | Количество столбцов для организации дочерних элементов. |
Rows | int | | Количество строк для организации дочерних элементов. |
MaxGridWidth | float | | Максимальная ширина сетки элементов; динамически определяет количество столбцов на основе размера элементов. |
MaxGridHeight | float | | Максимальная высота сетки; динамически определяет количество строк на основе размера элементов |
VSeparationOverride | int | 0 | Вертикальное расстояние между элементами. |
HSeparationOverride | int | 0 | Горизонтальное расстояние между элементами. |
ExpandBackwards | bool | false | Расширять сетку в обратном направлении (снизу-справа наверх-слева). |
ScrollContainer — это контейнер, показывающий обрезанный вид своих дочерних элементов, с опциональной прокруткой по вертикали, горизонтали или обоим направлениям.
| Поле | Тип | Значение по умолч. | Описание |
|---|
FallbackDeltaScroll | bool | true | Если true, вертикальная прокрутка преобразуется в горизонтальную, если вертикальная прокрутка невозможна. |
ScrollSpeedX | int | 50 | Скорость прокрутки по оси X. |
ScrollSpeedY | int | 50 | Скорость прокрутки по оси Y. |
ReserveScrollbarSpace | bool | false | Будет ли полоса прокрутки занимать место в макете. |
VScrollEnabled | bool | true | Включена ли вертикальная прокрутка. |
HScrollEnabled | bool | true | Включена ли горизонтальная прокрутка. |
LayoutContainer
LayoutContainer помогает в сложных макетах, позволяя дочерним элементам указывать, как они должны располагаться.
| Поле | Тип | Значение по умолч. | Описание |
|---|
AnchorBegin | float | 0 | Значение привязки в начале макета. |
AnchorEnd | float | 1 | Значение привязки в конце макета. |
InheritChildMeasure | bool | true | Если true, измерения этого элемента будут не меньше размера любого вложенного элемента. |
Дочерние элементы LayoutContainer могут использовать следующие поля для управления своим расположением:
| Поле | Тип |
|---|
MarginLeft | float |
MarginTop | float |
MarginRight | float |
MarginBottom | float |
AnchorLeft | float |
AnchorTop | float |
AnchorRight | float |
AnchorBottom | float |
GrowHorizontal | bool |
GrowVertical | bool |
Последнее изменение 21 июня 2026 г.