ScaffoldRoot PageType, Title, Icon, SelectedIcon, IsVisible | A tab / stack root | IsSelected, CurrentIcon read-only; SelectCommand = engine-routed select (custom bars/menus). |
ScaffoldTabBar (: ScaffoldArea) | Area rendered as bottom tab bar | TabBarView (default ScaffoldTabBarView), SelectRootAsync(root), ShowPanelAsync(view, scrim?, closeIfOpened). |
ScaffoldArea | Roots without tab chrome | Title (flyout group header), Roots, CurrentRoot (ro). A bare ScaffoldRoot inside Scaffold = single-root area. |
Scaffold InitialRootPageType, InitialIntent | Startup root (default: first root of first area) | Plain properties, not bindable. |
Scaffold CurrentArea, CurrentPage, Areas | Read-only state | Observable; Areas/Roots mutable at runtime. |
nalu:Scaffold.TabBarVisibility (page) | Visible (default) / Auto (hidden on pushed pages) / Hidden | Animated slide with the page transition. |
ScaffoldTabBarView | Default pill bar; implicit-style it | ItemWidth 68, OverflowIcon/OverflowTitle ("More"), BarBackground, BarCornerRadius, BarMargin, BarPadding, BarShadow; attached ScaffoldTabBarView.BadgeText on a ScaffoldRoot. |
ScaffoldTabBarItemView, ScaffoldTabBarOverflowView | Item / overflow-panel styling | See reference.md tables. |
nalu:Scaffold.FlyoutStart / FlyoutEnd (View) + FlyoutStartMode / FlyoutEndMode | Drawers; page → area → scaffold | Mode Disabled (default) / Auto (roots only) / Flyout. Content alone does nothing. |
ScaffoldFlyoutMenuView | Ready-made menu of areas/roots | Set IsTabBarDisplayed="True" to list tab-bar roots (else empty in a tab-only app). |
Scaffold.FlyoutStartOptions / FlyoutEndOptions (ScaffoldFlyoutOptions) | Width, WidthRatio 0.85, MaximumWidth 360, Scrim | Scaffold-level only. |
IScaffoldFlyoutController (DI, page-scoped) | OpenAsync(ScaffoldFlyoutSide), CloseAsync() | Also scaffold.OpenFlyoutAsync/CloseFlyoutAsync, IsFlyoutStartOpen/EndOpen, FlyoutStartOpened/Closed events. |
nalu:Scaffold.FlyoutStartButtonVisibility / End… | Nav-bar drawer button: Auto (roots) / Visible / Hidden | page → area → scaffold. |
Page Title / nalu:Scaffold.TitleView | Nav bar center | TitleView.BindingContext = page model. |
nalu:Scaffold.NavBarTemplate | Bar TEMPLATE; page → area → scaffold | Default a template of ScaffoldNavBarView (BarHeight 48, BarPadding 8,0, Spacing 8). {x:Null} on the scaffold = no bar. A template, not a view: every page realizes its own bar, because the bar travels with its page and two are on screen during a transition. |
nalu:Scaffold.NavBarBackground / NavBarForeground / NavBarTitleForeground / NavBarOpacity / NavBarOffsetY | Strip surface (foreground = buttons + title fallback; title foreground = title only) | Attached properties on real elements: each resolves independently page → area → scaffold (delta), and binds, themes and scroll-animates with no extra machinery. A Style setter gives every element its own value. |
nalu:Scaffold.IsNavBarVisible (bool) / NavBarOverlapsContent (bool) | Hide bar / draw bar OVER content | Overlap = full-bleed header recipe. |
Primitives ScaffoldNavBarTitle, ScaffoldBackButton, ScaffoldCloseButton, ScaffoldFlyoutButton (Side), base ScaffoldNavBarButtonBase (Icon, IconColor, PressedBrush) | Style via implicit styles | Same styles apply in custom bars. |
ScaffoldNavBarContext ({nalu:NavBarBinding Path=…}) | Ambient bar state | Title, TitleView, Foreground, TitleForeground, ScrollOffset, IsScrolledUnder, ScrollRampStart/End, CanNavigateBack, BackCommand, IsFlyoutStart/EndButtonVisible, OpenFlyoutStart/EndCommand, IsModal, IsCloseButtonVisible, CurrentPage, PageBindingContext. |
NavBarBindings.Create(target, path, …) / Scaffold.FindNavBarContext(element) | Code-behind counterparts | Pass the element the binding is applied to — it is what the PAGE is resolved from, so the binding reads that element's own page. |
nalu:Scaffold.SystemBarStyle | Auto (default) / LightContent (white icons) / DarkContent | page → area → scaffold; describes the PAGE surface. |
nalu:Scaffold.ScrollTracker, ScrollRampStart/End, {nalu:ScrollValue}, {nalu:ThemeScrollValue} | Scroll-driven chrome / parallax | → skill nalu-scaffold-scroll. |
nalu:Scaffold.PageMode, PageTransition, TransitionName | Modals / transitions | → skill nalu-scaffold-transitions. |
nalu:Scaffold.KeyboardMode | Soft keyboard | → skill nalu-scaffold-keyboard. |