BoxContainer
Строка или колонка с распределением свободного места.
Базовый BoxContainer по умолчанию горизонтальный; его Vertical можно менять. HBoxContainer и VBoxContainer фиксируют ориентацию: у них нельзя вызывать SetVertical, даже с текущим значением.
Дочерние элементы располагаются последовательно. Theme-константа separation задаёт промежуток. Fill заполняет выделенную область, Expand участвует в распределении свободного места; StretchRatio задаёт относительный вес, а не точный процент итоговой ширины. Minimum, maximum и промежутки также участвуют. Maximize имеет отдельную логику приоритета в этом контейнере.
Alignment задаёт Begin/Center/End для оставшегося свободного места, а ReverseSort меняет порядок размещения, сохраняя порядок детей в дереве. Учитывайте RTL: начало строки не обязательно слева. AddSpacer создаёт уже присоединённый расширяющийся Control; begin означает начало списка детей, а не обязательно левый край изображения.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
BoxContainerКонструктор
public BoxContainer();Создаёт горизонтальный изменяемый BoxContainer. Для фиксированного направления используйте HBoxContainer/VBoxContainer.
Свойства3
AlignmentСвойство
public BoxContainer.AlignmentMode Alignment { get; set; }Begin, Center или End для размещения оставшегося свободного пространства, по умолчанию Begin. Не меняет флаги отдельного ребёнка; учитывайте Expand и RTL.
ReverseSortСвойство
public bool ReverseSort { get; set; }Обратный порядок размещения, по умолчанию false. Не переставляет детей в дереве и не меняет ось; RTL учитывается отдельно.
VerticalСвойство
public bool Vertical { get; set; }Ось базового BoxContainer: false — строка, true — колонка. Для HBoxContainer/VBoxContainer setter запрещён, даже при присваивании текущего значения.
Методы7
AddSpacerControl
public Control AddSpacer(bool begin);Создаёт и присоединяет расширяющийся Control; begin ставит его первым в списке детей. Слот расширяется по текущей оси. MouseFilter = Pass, Owner для сохранения не назначается. Возвращённый объект уже принадлежит иерархии.
| Имя | Тип | По умолчанию |
|---|---|---|
begin | bool | — |
begintrue вставляет в начало списка детей, false — в конец. Не гарантирует левый/правый визуальный край при ReverseSort/RTL.
ControlПрисоединённый дочерний Control. Его срок жизни связан с родителем; не освобождайте, пока он нужен раскладке.
GetAlignmentBoxContainer.AlignmentMode
public BoxContainer.AlignmentMode GetAlignment();Begin, Center или End для размещения оставшегося свободного пространства, по умолчанию Begin. Не меняет флаги отдельного ребёнка; учитывайте Expand и RTL.
BoxContainer.AlignmentModeТекущий AlignmentMode, по умолчанию Begin.
IsReverseSortbool
public bool IsReverseSort();Обратный порядок размещения, по умолчанию false. Не переставляет детей в дереве и не меняет ось; RTL учитывается отдельно.
boolТекущий порядок размещения, false по умолчанию.
IsVerticalbool
public bool IsVertical();Ось базового BoxContainer: false — строка, true — колонка. Для HBoxContainer/VBoxContainer setter запрещён, даже при присваивании текущего значения.
boolОсь: у HBox false, у VBox true, у базового Box — текущее значение.
SetAlignmentvoid
public void SetAlignment(BoxContainer.AlignmentMode alignment);Begin, Center или End для размещения оставшегося свободного пространства, по умолчанию Begin. Не меняет флаги отдельного ребёнка; учитывайте Expand и RTL.
| Имя | Тип | По умолчанию |
|---|---|---|
alignment | BoxContainer.AlignmentMode | — |
alignmentBegin, Center или End; размещение относительно направления текущей оси.
SetReverseSortvoid
public void SetReverseSort(bool reverseSort);Обратный порядок размещения, по умолчанию false. Не переставляет детей в дереве и не меняет ось; RTL учитывается отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
reverseSort | bool | — |
reverseSorttrue меняет порядок размещения, сохраняя дерево.
SetVerticalvoid
public void SetVertical(bool vertical);Ось базового BoxContainer: false — строка, true — колонка. Для HBoxContainer/VBoxContainer setter запрещён, даже при присваивании текущего значения.
| Имя | Тип | По умолчанию |
|---|---|---|
vertical | bool | — |
verticalfalse для горизонтальной или true для вертикальной оси только базового BoxContainer.
BoxContainer.AlignmentMode
| Значение | Описание |
|---|---|
Begin = 0 | Дочерние элементы управления будут расположены в начале контейнера, т. е. сверху, если ориентация вертикальная, слева, если ориентация горизонтальная (справа для макета RTL). |
Center = 1 | Дочерние элементы управления будут размещены в центре контейнера. |
End = 2 | Дочерние элементы управления будут располагаться в конце контейнера, т. е. внизу, если ориентация вертикальная, справа, если ориентация горизонтальная (слева для макета RTL). |
Свойства темы
Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.
| Ключ и тип | Описание |
|---|---|
separationint | Расстояние между элементами 4 |