SusMenu

Popup-меню у activator — items, dividers, shortcuts.
Пакет
SusKit · Атомы (коммерческий)
SusKit · Atoms
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Model | Prop<bool> | false | v-model |
CloseOnClick | Prop<bool> | true | v-model |
CloseOnContentClick | Prop<bool> | false | v-model |
OpenOnHover | Prop<bool> | false | v-model |
MinWidth | Prop<float> | 160f | v-model |
MaxWidth | Prop<float> | 320f | v-model |
MaxHeight | Prop<float> | 0f | v-model |
OffsetX | Prop<float> | 0f | v-model |
OffsetY | Prop<float> | 0f | v-model |
Location | Prop<string> | "bottom" | v-model |
Density | Prop<string> | "default" | v-model |
Rounded | Prop<string> | "default" | v-model |
Elevation | Prop<string> | "default" | v-model |
Transition | Prop<bool> | true | v-model |
TransitionDuration | Prop<float> | 150f | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
Click | OnClick | — |
Open | OnOpen | — |
Close | OnClose | — |
ItemClick | OnItemClick | string |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-menusus-menu__contentsus-menu__dividersus-menu__itemsus-menu__item--disabledsus-menu__item--headersus-menu__item--highlightedsus-menu__item-checksus-menu__item-check--onsus-menu__item-check-iconsus-menu__item-chevronsus-menu__item-header-textsus-menu__item-iconsus-menu__item-label-areasus-menu__item-shortcutsus-menu__item-titlesus-menu__submenusus-menu--density-comfortablesus-menu--density-compactsus-menu--elevation-flatsus-menu--elevation-overlaysus-menu--open-on-hoversus-menu--rounded-pillsus-menu--rounded-sharp
Использование
Элементы задаются в коде (List<SusMenuItemData>). Подключите activator через SetActivator.
csharp
var menu = new SusMenu();
menu.Location.Value = "bottom";
menu.Items.Value = new List<SusMenu.SusMenuItemData>
{
new() { Title = "Edit", Value = "edit", Icon = "pencil", Shortcut = "Ctrl+E" },
new() { Title = "Duplicate", Value = "dup", Icon = "copy" },
new() { Type = SusMenu.SusMenuItemType.Divider },
new() { Title = "Delete", Value = "delete", Icon = "trash" },
};
menu.Model.Value = true; // open for preview
menu.OnItemClick += value => { /* … */ };
menu.SetActivator(activatorButton);| Prop | Role |
|---|---|
Items | List<SusMenuItemData> — строки / разделители / заголовки |
Model | Открыто (true) / закрыто |
Location | Сторона popup относительно activator |
CloseOnClick | Закрывать при выборе элемента |
OpenOnHover | Открывать при наведении курсора |
Заметки
Typeэлемента:Default·Divider·Header·Checkbox·Radio.- Ручной режим: пропустите
Itemsи соберите контент самостоятельно послеSetActivator.