Table of Contents

Class MenuButton

Namespace
PluginUI
Assembly
PluginUI.dll

Button opening an arbitrary menu (MenuItem tree): settings, "more" menus, file menus. Handle Opening to rebuild the entries right before the menu appears.

public class MenuButton : Control
Inheritance
MenuButton
Inherited Members

Constructors

MenuButton()

Creates a menu button.

public MenuButton()

MenuButton(MenuButtonStyle, params MenuItem[])

Creates a menu button with entries.

public MenuButton(MenuButtonStyle look, params MenuItem[] items)

Parameters

look MenuButtonStyle
items MenuItem[]

Properties

DefaultSize

Natural size used when no explicit size is given.

protected override Size DefaultSize { get; }

Property Value

Size

IsMenuOpen

true while the menu is open.

public bool IsMenuOpen { get; }

Property Value

bool

Items

Menu entries.

public IList<MenuItem> Items { get; set; }

Property Value

IList<MenuItem>

Look

Visual style.

public MenuButtonStyle Look { get; set; }

Property Value

MenuButtonStyle

MenuPlacement

Menu placement relative to the button.

public PopupPlacement MenuPlacement { get; set; }

Property Value

PopupPlacement

ShowBackground

Draws the raised box (otherwise flat until hovered).

public bool ShowBackground { get; set; }

Property Value

bool

Text

Caption (text styles).

public string? Text { get; set; }

Property Value

string

Methods

OnKeyDown(KeyEventArgs)

Key pressed while focused (bubbles to parents).

protected override void OnKeyDown(KeyEventArgs e)

Parameters

e KeyEventArgs

OnMouseDown(MouseEventArgs)

Mouse button pressed over the element (or captured).

protected override void OnMouseDown(MouseEventArgs e)

Parameters

e MouseEventArgs

OpenMenu()

Opens the menu.

public void OpenMenu()

RenderVector(DrawingContext, Rect, VectorStyle)

Vector rendering of the widget area.

protected override void RenderVector(DrawingContext dc, Rect widget, VectorStyle style)

Parameters

dc DrawingContext
widget Rect
style VectorStyle

Events

Opening

Raised before the menu opens (update Items here).

public event Action<MenuButton>? Opening

Event Type

Action<MenuButton>