Table of Contents

Class ScaffoldFlyoutMenuView

Namespace
Nalu
Assembly
Nalu.Maui.Scaffold.dll

The opt-in drawer menu over the owning scaffold's VISIBLE roots — set it as FlyoutStart (or any other flyout content level) AND set the matching FlyoutStartModeProperty to Flyout (or Auto) to get the default navigation drawer. Rules: an area with a single visible root renders as a flat entry (root title + icon, selected highlight); an area with several visible roots renders its text-only Title as a group header with the roots below; ScaffoldTabBar areas are excluded unless IsTabBarDisplayed. Selection rides SelectCommand (engine-routed, guarded, scaffold-wide busy gate); navigation closes the drawer automatically. Deliberately NOT virtualized: a ScrollView over a bindable stack.

public class ScaffoldFlyoutMenuView : ScrollView, INotifyPropertyChanged, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IAnimatable, IViewController, IVisualElementController, IElementController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, ILayout, IVisualTreeElement, IScrollViewController, ILayoutController, IElementConfiguration<ScrollView>, IScrollView, IContentView, IView, IElement, ITransform, IPadding, ICrossPlatformLayout
Inheritance
ScaffoldFlyoutMenuView
Implements
Inherited Members
Extension Methods

Remarks

The menu owns only the drawer surface (PanelBackground, ContentPadding, ItemSpacing). Entry and group-header appearance belongs to ScaffoldFlyoutMenuItemView and ScaffoldFlyoutMenuGroupHeader — both public, both styled directly with a plain Style (with AppThemeBinding setters for theming).

Constructors

ScaffoldFlyoutMenuView()

Initializes the drawer menu.

public ScaffoldFlyoutMenuView()

Fields

ContentPaddingProperty

Bindable property for ContentPadding.

public static readonly BindableProperty ContentPaddingProperty

Field Value

BindableProperty

FooterViewProperty

Bindable property for FooterView.

public static readonly BindableProperty FooterViewProperty

Field Value

BindableProperty

HeaderViewProperty

Bindable property for HeaderView.

public static readonly BindableProperty HeaderViewProperty

Field Value

BindableProperty

IsTabBarDisplayedProperty

Bindable property for IsTabBarDisplayed.

public static readonly BindableProperty IsTabBarDisplayedProperty

Field Value

BindableProperty

ItemSpacingProperty

Bindable property for ItemSpacing.

public static readonly BindableProperty ItemSpacingProperty

Field Value

BindableProperty

ItemTemplateProperty

Bindable property for ItemTemplate.

public static readonly BindableProperty ItemTemplateProperty

Field Value

BindableProperty

PanelBackgroundProperty

Bindable property for PanelBackground.

public static readonly BindableProperty PanelBackgroundProperty

Field Value

BindableProperty

Properties

ContentPadding

Gets or sets the padding around the menu content (header, entries, footer).

public Thickness ContentPadding { get; set; }

Property Value

Thickness

FooterView

Gets or sets the view rendered below the menu (scrolls with it).

public View? FooterView { get; set; }

Property Value

View

HeaderView

Gets or sets the view rendered above the menu (scrolls with it).

public View? HeaderView { get; set; }

Property Value

View

IsTabBarDisplayed

Gets or sets whether ScaffoldTabBar areas appear in the menu (as regular areas, per the single/multi-root rules). Defaults to false — tabs already have a bar.

public bool IsTabBarDisplayed { get; set; }

Property Value

bool

ItemSpacing

Gets or sets the gap between menu entries.

public double ItemSpacing { get; set; }

Property Value

double

ItemTemplate

Gets or sets the template of a root entry; its binding context is the ScaffoldRoot. The template is purely visual — every entry is wrapped in a tappable container riding SelectCommand; templates needing their own hit areas can bind that command directly.

public DataTemplate? ItemTemplate { get; set; }

Property Value

DataTemplate

PanelBackground

Gets or sets the drawer surface background (the flyout presenter mounts the content edge-to-edge over the scrim). Drives the view's own Background — style THIS, not Background.

public Brush? PanelBackground { get; set; }

Property Value

Brush

Methods

OnParentSet()

Raises the (internal) ParentSet event.

protected override void OnParentSet()

Remarks

Will set the NavigationProxy's inner navigation object to closest topmost element capable of handling navigation calls.

See Also