SubMenuItem.IHandler

References
public interface SubMenuItem.IHandler : ButtonMenuItem.IHandler
Handler interface for the SubMenuItem.

Properties

Enabled

bool Enabled { get; set; }
Gets or sets a value indicating whether this MenuItem is enabled.
inherited fromMenuItem.IHandler

ID

string ID { get; set; }
Gets or sets an ID for the widget
inherited fromWidget.IHandler
Remarks: Some platforms may use this to identify controls (e.g. web)

Image

Image Image { get; set; }
Gets or sets the image to show for the menu item.
inherited fromButtonMenuItem.IHandler
Remarks: Some platforms (e.g. OS X) will not show an image by default, but can be enabled using the handler implementation via styles.
The image for the menu item.

NativeHandle

nint NativeHandle { get; }
Gets the native platform-specific handle for integration purposes
inherited fromWidget.IHandler

Shortcut

Keys Shortcut { get; set; }
Gets or sets the shortcut key the user can press to activate the menu item.
inherited fromMenuItem.IHandler

Text

string Text { get; set; }
Gets or sets the text of the menu item, with mnemonics identified with &.
inherited fromMenuItem.IHandler

Visible

bool Visible { get; set; }
Gets or sets a value indicating whether this MenuItem is visible.
inherited fromMenuItem.IHandler

Methods

AddMenu

void AddMenu(int index, MenuItem item)
Adds the menu item
inherited fromMenu.ISubmenuHandler

CreateFromCommand

void CreateFromCommand(Command command)
Called when creating the menu item from a command.
inherited fromMenuItem.IHandler
Remarks: This is used primarily when creating menu items for system commands that the platform returns via MenuBar.SystemCommands.
command (Command)Command the menu item is created with.

HandleEvent

void HandleEvent(string id, bool defaultEvent = false)
Called to handle a specific event
inherited fromWidget.IHandler
Remarks: Most events are late bound by this method. Instead of wiring all events, this will be called with an event string that is defined by the control. This is called automatically when attaching to events, but must be called manually when users of the control only override the event's On... method.
id (string)ID of the event to handle
defaultEvent (bool = false)True if the event is default (e.g. overridden or via an event handler subscription)

Initialize

void Initialize()
Called after the widget is constructed
inherited fromWidget.IHandler
Remarks: This gets called automatically after the control is constructed and the Widget.IHandler.Widget and Widget.Platform properties are set. When the handler has specialized construction methods, then the AutoInitializeAttribute can be used to disable automatic initialization. In this case, it is the responsibility of the subclass to call Widget.Initialize()

UnhandleEvent

virtual void UnhandleEvent(string id)
Called when the last subscriber to an event has been removed, so the platform can stop listening for it.
inherited fromWidget.IHandler
Remarks: Only reached for events whose remove accessor uses PropertyStore.RemoveHandlerEvent(string, Delegate), and only for events that were attached because something subscribed to them. An event attached because the widget overrides its On[Event] method is never detached, since it has to keep firing regardless. Most events stay attached for the life of the widget, which costs nothing. Detaching is worth wiring up for the few that hold onto something expensive or process wide while they are attached, such as a system wide hook. Handlers deriving from WidgetHandler<TWidget> get an implementation of this that dispatches to WidgetHandler<TWidget>.DetachEvent(string), which is what to override.
id (string)ID of the event to stop handling