reckfellENGINE

BoxContainer

Строка или колонка с распределением свободного места.

На этой странице
class BoxContainerReckfellSharpНаследует Container

Базовый 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Конструктор
# BoxContainer
C#
public BoxContainer();

Создаёт горизонтальный изменяемый BoxContainer. Для фиксированного направления используйте HBoxContainer/VBoxContainer.

Свойства3

AlignmentСвойство
# Alignment
C#
public BoxContainer.AlignmentMode Alignment { get; set; }

Begin, Center или End для размещения оставшегося свободного пространства, по умолчанию Begin. Не меняет флаги отдельного ребёнка; учитывайте Expand и RTL.

ReverseSortСвойство
# ReverseSort
C#
public bool ReverseSort { get; set; }

Обратный порядок размещения, по умолчанию false. Не переставляет детей в дереве и не меняет ось; RTL учитывается отдельно.

VerticalСвойство
# Vertical
C#
public bool Vertical { get; set; }

Ось базового BoxContainer: false — строка, true — колонка. Для HBoxContainer/VBoxContainer setter запрещён, даже при присваивании текущего значения.

Методы7

AddSpacerControl
# AddSpacer
C#
public Control AddSpacer(bool begin);

Создаёт и присоединяет расширяющийся Control; begin ставит его первым в списке детей. Слот расширяется по текущей оси. MouseFilter = Pass, Owner для сохранения не назначается. Возвращённый объект уже принадлежит иерархии.

Параметры
ИмяТипПо умолчанию
beginbool—
begin

true вставляет в начало списка детей, false — в конец. Не гарантирует левый/правый визуальный край при ReverseSort/RTL.

Возвращает Control

Присоединённый дочерний Control. Его срок жизни связан с родителем; не освобождайте, пока он нужен раскладке.

GetAlignmentBoxContainer.AlignmentMode
# GetAlignment
C#
public BoxContainer.AlignmentMode GetAlignment();

Begin, Center или End для размещения оставшегося свободного пространства, по умолчанию Begin. Не меняет флаги отдельного ребёнка; учитывайте Expand и RTL.

Возвращает BoxContainer.AlignmentMode

Текущий AlignmentMode, по умолчанию Begin.

IsReverseSortbool
# IsReverseSort
C#
public bool IsReverseSort();

Обратный порядок размещения, по умолчанию false. Не переставляет детей в дереве и не меняет ось; RTL учитывается отдельно.

Возвращает bool

Текущий порядок размещения, false по умолчанию.

IsVerticalbool
# IsVertical
C#
public bool IsVertical();

Ось базового BoxContainer: false — строка, true — колонка. Для HBoxContainer/VBoxContainer setter запрещён, даже при присваивании текущего значения.

Возвращает bool

Ось: у HBox false, у VBox true, у базового Box — текущее значение.

SetAlignmentvoid
# SetAlignment
C#
public void SetAlignment(BoxContainer.AlignmentMode alignment);

Begin, Center или End для размещения оставшегося свободного пространства, по умолчанию Begin. Не меняет флаги отдельного ребёнка; учитывайте Expand и RTL.

Параметры
ИмяТипПо умолчанию
alignmentBoxContainer.AlignmentMode—
alignment

Begin, Center или End; размещение относительно направления текущей оси.

SetReverseSortvoid
# SetReverseSort
C#
public void SetReverseSort(bool reverseSort);

Обратный порядок размещения, по умолчанию false. Не переставляет детей в дереве и не меняет ось; RTL учитывается отдельно.

Параметры
ИмяТипПо умолчанию
reverseSortbool—
reverseSort

true меняет порядок размещения, сохраняя дерево.

SetVerticalvoid
# SetVertical
C#
public void SetVertical(bool vertical);

Ось базового BoxContainer: false — строка, true — колонка. Для HBoxContainer/VBoxContainer setter запрещён, даже при присваивании текущего значения.

Параметры
ИмяТипПо умолчанию
verticalbool—
vertical

false для горизонтальной или true для вертикальной оси только базового BoxContainer.

BoxContainer.AlignmentMode

ЗначениеОписание
Begin = 0

Дочерние элементы управления будут расположены в начале контейнера, т. е. сверху, если ориентация вертикальная, слева, если ориентация горизонтальная (справа для макета RTL).

Center = 1

Дочерние элементы управления будут размещены в центре контейнера.

End = 2

Дочерние элементы управления будут располагаться в конце контейнера, т. е. внизу, если ориентация вертикальная, справа, если ориентация горизонтальная (слева для макета RTL).

Свойства темы

Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.

Ключ и типОписание
separation
int

Расстояние между элементами BoxContainer в пикселях.

По умолчанию: 4
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.