logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Interface IFocusableMenuView

    A menu that participates in composite cross-menu focus traversal. Lets a composite (which lives in a lower layer that cannot reference the concrete menu type) move input focus between sibling menus, query/place the option selection, and gate whether the menu currently receives input.

    Namespace: Serenity.Ui.Application.Interfaces.Views
    Assembly: Serenity.Ui.Application.dll
    Syntax
    public interface IFocusableMenuView

    Properties

    FocusableOptionCount

    The number of selectable options in this menu.

    Declaration
    int FocusableOptionCount { get; }
    Property Value
    Type Description
    int

    IsInputActive

    Whether this menu currently receives input (a composite may suppress it, e.g. when a nav rail holds focus).

    Declaration
    bool IsInputActive { get; }
    Property Value
    Type Description
    bool

    Methods

    BlurFocus()

    Clears this menu's selection highlight when focus leaves it for a sibling menu.

    Declaration
    void BlurFocus()

    FocusOption(int)

    Selects and focuses the option at index (clamped to range), giving this menu the visible selection highlight. Used when focus enters this menu from a sibling.

    Declaration
    void FocusOption(int index)
    Parameters
    Type Name Description
    int index

    The option index to focus.

    SetCrossMenuHost(ICrossMenuHost, bool)

    Wires this menu's immediate cross-menu host (the STACK composite it sits in) so a boundary move (down at the last option / up at the first) can hand focus to a sibling menu.

    Declaration
    void SetCrossMenuHost(ICrossMenuHost host, bool wrapAround)
    Parameters
    Type Name Description
    ICrossMenuHost host

    The composite that owns the stacked sibling menus, or null to disable.

    bool wrapAround

    Whether traversal wraps around the whole stack vs stops at the ends.

    SetInputActive(bool)

    Sets whether this menu currently receives input.

    Declaration
    void SetInputActive(bool active)
    Parameters
    Type Name Description
    bool active

    True to let this menu be the active input target.

    In this article
    © 2026 Serenity. All Rights Reserved