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
FooterViewProperty
Bindable property for FooterView.
public static readonly BindableProperty FooterViewProperty
Field Value
HeaderViewProperty
Bindable property for HeaderView.
public static readonly BindableProperty HeaderViewProperty
Field Value
IsTabBarDisplayedProperty
Bindable property for IsTabBarDisplayed.
public static readonly BindableProperty IsTabBarDisplayedProperty
Field Value
ItemSpacingProperty
Bindable property for ItemSpacing.
public static readonly BindableProperty ItemSpacingProperty
Field Value
ItemTemplateProperty
Bindable property for ItemTemplate.
public static readonly BindableProperty ItemTemplateProperty
Field Value
PanelBackgroundProperty
Bindable property for PanelBackground.
public static readonly BindableProperty PanelBackgroundProperty
Field Value
Properties
ContentPadding
Gets or sets the padding around the menu content (header, entries, footer).
public Thickness ContentPadding { get; set; }
Property Value
FooterView
Gets or sets the view rendered below the menu (scrolls with it).
public View? FooterView { get; set; }
Property Value
HeaderView
Gets or sets the view rendered above the menu (scrolls with it).
public View? HeaderView { get; set; }
Property Value
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
ItemSpacing
Gets or sets the gap between menu entries.
public double ItemSpacing { get; set; }
Property Value
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
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
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