FoldableContainer
Контейнер с заголовком и сворачиваемым содержимым.
Размещайте содержимое внутри одного вложенного VBoxContainer или другого контейнера компоновки: прямые дочерние Control получают одну и ту же внутреннюю область и могут перекрыться. При сворачивании они скрываются, при раскрытии показываются заново; для независимой видимости скрывайте элементы внутри вложенного контейнера.
Folded задаёт состояние без FoldingChanged; команды Fold/Expand испускают событие с фактическим состоянием. FoldableGroup объединяет разделы в аккордеон.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
FoldableContainerКонструктор
public FoldableContainer();Создаёт сворачиваемый контейнер. Добавьте его родителю, задайте Title и поместите элементы содержимого во вложенный контейнер компоновки.
Свойства8
FoldableGroupСвойство
public FoldableGroup FoldableGroup { get; set; }Общий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.
FoldedСвойство
public bool Folded { get; set; }Состояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.
LanguageСвойство
public string Language { get; set; }Языковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.
TitleСвойство
public string Title { get; set; }Исходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.
TitleAlignmentСвойство
public HorizontalAlignment TitleAlignment { get; set; }Выравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.
TitlePositionСвойство
public FoldableContainer.TitlePositionEnum TitlePosition { get; set; }Размещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.
TitleTextDirectionСвойство
public Control.TextDirection TitleTextDirection { get; set; }Направление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.
TitleTextOverrunBehaviorСвойство
public TextServer.OverrunBehavior TitleTextOverrunBehavior { get; set; }Поведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.
Методы22
AddTitleBarControlvoid
public void AddTitleBarControl(Control control);Переносит Control в служебные дочерние элементы полосы заголовка, удаляя его от прежнего родителя. Настройте владение/сохранение отдельно при сборке префаба. Не добавляйте тот же элемент повторно. Он удаляется вместе с контейнером, пока остаётся его дочерним.
| Имя | Тип | По умолчанию |
|---|---|---|
control | Control | — |
controlДействительный Control для полосы заголовка.
Expandvoid
public void Expand();Запрашивает Folded = false и испускает FoldingChanged с фактическим состоянием, даже если контейнер уже раскрыт. Раскрытие может свернуть других участников группы.
Foldvoid
public void Fold();Запрашивает Folded = true, затем испускает FoldingChanged с фактическим состоянием даже при отсутствии изменения или запрете группы. Не удаляет содержимое.
GetFoldableGroupFoldableGroup
public FoldableGroup GetFoldableGroup();Общий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.
FoldableGroupОбщий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.
GetLanguagestring
public string GetLanguage();Языковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.
stringЯзыковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.
GetTitlestring
public string GetTitle();Исходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.
stringИсходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.
GetTitleAlignmentHorizontalAlignment
public HorizontalAlignment GetTitleAlignment();Выравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.
HorizontalAlignmentВыравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.
GetTitleBarControlControl
public Control GetTitleBarControl(long index);Возвращает зарегистрированный Control по текущему индексу. Заимствованная ссылка, не копия: не освобождайте элемент, если продолжаете использовать его в заголовке. После удаления индексы сдвигаются.
| Имя | Тип | По умолчанию |
|---|---|---|
index | long | — |
indexТекущий индекс от 0 до GetTitleBarControlCount() - 1.
ControlВозвращает зарегистрированный Control по текущему индексу. Заимствованная ссылка, не копия: не освобождайте элемент, если продолжаете использовать его в заголовке. После удаления индексы сдвигаются.
GetTitleBarControlCountint
public int GetTitleBarControlCount();Количество элементов, добавленных через AddTitleBarControl; не количество дочерних элементов содержимого.
intКоличество элементов, добавленных через AddTitleBarControl; не количество дочерних элементов содержимого.
GetTitlePositionFoldableContainer.TitlePositionEnum
public FoldableContainer.TitlePositionEnum GetTitlePosition();Размещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.
FoldableContainer.TitlePositionEnumРазмещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.
GetTitleTextDirectionControl.TextDirection
public Control.TextDirection GetTitleTextDirection();Направление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.
Control.TextDirectionНаправление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.
GetTitleTextOverrunBehaviorTextServer.OverrunBehavior
public TextServer.OverrunBehavior GetTitleTextOverrunBehavior();Поведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.
TextServer.OverrunBehaviorПоведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.
IsFoldedbool
public bool IsFolded();Состояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.
boolСостояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.
RemoveTitleBarControlvoid
public void RemoveTitleBarControl(Control control);Удаляет зарегистрированный Control из полосы и отсоединяет от родителя, не освобождая его. После вызова добавьте другому родителю либо освободите, если он больше не нужен.
| Имя | Тип | По умолчанию |
|---|---|---|
control | Control | — |
controlДействительный Control для полосы заголовка.
SetFoldableGroupvoid
public void SetFoldableGroup(FoldableGroup buttonGroup);Общий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.
| Имя | Тип | По умолчанию |
|---|---|---|
buttonGroup | FoldableGroup | — |
buttonGroupОбщий FoldableGroup или null.
SetFoldedvoid
public void SetFolded(bool folded);Состояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.
| Имя | Тип | По умолчанию |
|---|---|---|
folded | bool | — |
foldedЗапрошенное состояние; группа может отклонить сворачивание.
SetLanguagevoid
public void SetLanguage(string language);Языковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
language | string | — |
languageКод языковой подсказки формирования.
SetTitlevoid
public void SetTitle(string text);Исходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.
| Имя | Тип | По умолчанию |
|---|---|---|
text | string | — |
textИсходный заголовок для перевода UI.
SetTitleAlignmentvoid
public void SetTitleAlignment(HorizontalAlignment alignment);Выравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
alignment | HorizontalAlignment | — |
alignmentLeft, Center или Right; Fill не допускается.
SetTitlePositionvoid
public void SetTitlePosition(FoldableContainer.TitlePositionEnum titlePosition);Размещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.
| Имя | Тип | По умолчанию |
|---|---|---|
titlePosition | FoldableContainer.TitlePositionEnum | — |
titlePositionПоложение заголовка сверху или снизу.
SetTitleTextDirectionvoid
public void SetTitleTextDirection(Control.TextDirection textDirection);Направление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
textDirection | Control.TextDirection | — |
textDirectionНаправление формирования заголовка.
SetTitleTextOverrunBehaviorvoid
public void SetTitleTextOverrunBehavior(TextServer.OverrunBehavior overrunBehavior);Поведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.
| Имя | Тип | По умолчанию |
|---|---|---|
overrunBehavior | TextServer.OverrunBehavior | — |
overrunBehaviorПоведение заголовка при недостаточной ширине.
Сигналы и события1
FoldingChangedСобытие
public event FoldableContainer.FoldingChangedEventHandler FoldingChanged;Уведомление команды Fold/Expand или пользовательского переключения. isFolded — фактическое состояние, не обещание, что оно изменилось. Прямой SetFolded и автоматическое переключение других участников группы не обязаны испускать это событие.
| Имя | Тип | По умолчанию |
|---|---|---|
isFolded | bool | — |
isFoldedФактическое состояние после запроса, не признак смены значения.
FoldableContainer.TitlePositionEnum
| Значение | Описание |
|---|---|
Bottom = 1 | Заставляет заголовок отображаться внизу контейнера. Также делает все StyleBoxes перевернутыми по вертикали. |
Top = 0 | Размещает заголовок в верхней части контейнера. |
Свойства темы
Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.
| Ключ и тип | Описание |
|---|---|
collapsed_font_colorColor | Цвет шрифта заголовка в свернутом виде. По умолчанию:Color(1, 1, 1, 1) |
font_colorColor | Цвет шрифта заголовка в развернутом виде. По умолчанию:Color(0.875, 0.875, 0.875, 1) |
font_outline_colorColor | Цвет контура шрифта заголовка. По умолчанию:Color(1, 1, 1, 1) |
hover_font_colorColor | Цвет шрифта заголовка при наведении. По умолчанию:Color(0.95, 0.95, 0.95, 1) |
h_separationint | Горизонтальное разделение между значком заголовка и текстом, а также между элементами управления строки заголовка. По умолчанию:2 |
icon_max_widthint | Максимальная допустимая ширина 0 |
outline_sizeint | Размер контура шрифта заголовка. По умолчанию:0 |
fontFont | Шрифт заголовка. |
font_sizeint | Размер шрифта заголовка. |
expanded_arrowTexture2D | Значок заголовка, используемый при раскрытии. |
expanded_arrow_mirroredTexture2D | Значок заголовка, используемый при раскрытии (для нижнего заголовка). |
folded_arrowTexture2D | Значок заголовка, используемый в сложенном виде (для макетов слева направо). |
folded_arrow_mirroredTexture2D | Значок заголовка, используемый в свернутом виде (для макетов с справа налево). |
expanded_soundAudioStream | Проигрывается при расширении резервуара любым методом ввода данных. Сосредоточься. |
focus_soundAudioStream | Играл, когда это |
folded_soundAudioStream | Проигрывается при сложении контейнера любым методом ввода данных.
Примечание: Это не работает, если контейнер сложен в результате того, что он является частью Сосредоточься |
focusStyleBox | Фон используется, когда |
panelStyleBox | Фон по умолчанию для |
title_collapsed_hover_panelStyleBox | Фон, используемый при попадании курсора мыши в область заголовка в свернутом состоянии. |
title_collapsed_panelStyleBox | Фон по умолчанию для заголовка |
title_hover_panelStyleBox | Фон, используемый при попадании курсора мыши в область заголовка при его развертывании. |
title_panelStyleBox | Фон по умолчанию для заголовка |