MenuButton
Кнопка открытия меню команд без постоянного выбранного пункта.
MenuButton показывает принадлежащий ему PopupMenu. Получите его через GetPopup, заполните командами и подключите IdPressed самого меню для выполнения команды по ID. Pressed кнопки означает активацию открытия/закрытия, а не выбор команды. Для сохраняемого выбора используйте OptionButton.
Конструктор задаёт Flat = true, ToggleMode = true, ActionMode = Press, FocusMode = Accessibility. Для обычного Tab задайте FocusMode = All. Toggle-состояние связано с видимостью меню; не используйте ButtonPressed как значение прикладной настройки. ItemCount изменяет число строк PopupMenu, но не заполняет их полезным текстом или действиями.
AboutToPopup испускается перед ShowPopup: здесь можно обновить доступность и содержимое команд. ShowPopup требует Viewport и открывает меню напрямую; он не проходит проверку Disabled из Press. Вызывайте его для активного элемента внутри дерева. GetPopup возвращает общий внутренний объект — не освобождайте и не переносите его.
SwitchOnHover по умолчанию false. Если включить его у связанных MenuButton до открытия, уже открытое меню может переключиться на другую подходящую кнопку при наведении. Это не открытие первого меню от любого наведения. SetDisableShortcuts отключает локальную обработку сочетаний этой кнопки и меню, а не действия InputMap во всём приложении.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
MenuButtonКонструктор
public MenuButton();Создаёт плоскую toggle-кнопку с ActionMode = Press, FocusMode = Accessibility и скрытым внутренним PopupMenu. SwitchOnHover = false.
Свойства2
ItemCountСвойство
public int ItemCount { get; set; }Число строк внутреннего PopupMenu. Неотрицательный setter добавляет пустые строки или удаляет хвост. Метки, ID и действия заполняются отдельно через GetPopup.
SwitchOnHoverСвойство
public bool SwitchOnHover { get; set; }Разрешает переключение уже открытых связанных MenuButton при наведении, false по умолчанию. Задайте до открытия меню; не открывает первое меню от обычного наведения.
Методы7
GetItemCountint
public int GetItemCount();Число строк внутреннего PopupMenu. Неотрицательный setter добавляет пустые строки или удаляет хвост. Метки, ID и действия заполняются отдельно через GetPopup.
intЧисло всех строк, включая разделители.
GetPopupPopupMenu
public PopupMenu GetPopup();Возвращает принадлежащий кнопке внутренний PopupMenu. Команды и их IdPressed обрабатываются на нём. Не освобождайте и не переносите отдельно.
PopupMenuОбщий внутренний PopupMenu, которым владеет кнопка.
IsSwitchOnHoverbool
public bool IsSwitchOnHover();Разрешает переключение уже открытых связанных MenuButton при наведении, false по умолчанию. Задайте до открытия меню; не открывает первое меню от обычного наведения.
booltrue, если настроено переключение открытых меню наведением.
SetDisableShortcutsvoid
public void SetDisableShortcuts(bool disabled);Отключает локальную обработку сочетаний списка и унаследованной кнопки. Не меняет InputMap приложения и не отключает обычные Select/методы списка.
| Имя | Тип | По умолчанию |
|---|---|---|
disabled | bool | — |
disabledОтключает локальную обработку сочетаний списка и унаследованной кнопки. Не меняет InputMap приложения и не отключает обычные Select/методы списка.
SetItemCountvoid
public void SetItemCount(int count);Число строк внутреннего PopupMenu. Неотрицательный setter добавляет пустые строки или удаляет хвост. Метки, ID и действия заполняются отдельно через GetPopup.
| Имя | Тип | По умолчанию |
|---|---|---|
count | int | — |
countЧисло строк внутреннего PopupMenu. Неотрицательный setter добавляет пустые строки или удаляет хвост. Метки, ID и действия заполняются отдельно через GetPopup.
SetSwitchOnHovervoid
public void SetSwitchOnHover(bool enable);Разрешает переключение уже открытых связанных MenuButton при наведении, false по умолчанию. Задайте до открытия меню; не открывает первое меню от обычного наведения.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableРазрешает переключение уже открытых связанных MenuButton при наведении, false по умолчанию. Задайте до открытия меню; не открывает первое меню от обычного наведения.
ShowPopupvoid
public void ShowPopup();Напрямую открывает PopupMenu при наличии Viewport, предварительно испуская AboutToPopup. Не проверяет Disabled как Press; используйте для активного элемента внутри дерева.
Сигналы и события1
AboutToPopupСобытие
public event Action AboutToPopup;Испускается перед открытием через ShowPopup. Подходит для обновления доступности/содержимого команд; не сообщает выбор команды.