Skip to content
Shiny Controls v1.0 - The Ultra Control Suite for .NET MAUI & BlazorO...M...G!

Properties & Events

Frameworks
.NET MAUI

Everything inherited from NavigationPagePushAsync, PopAsync, PopToRootAsync, Peek, CurrentPage, RootPage, Pushed, Popped, PoppedToRoot, BarBackground, BarBackgroundColor, BarTextColor and all of its attached properties — keeps its own meaning and is not repeated here.

Property Type Default Notes
IsNavBarVisible bool true Hides the bar over every page. For one page use ShinyNav.IsNavBarVisible.
Property Type Default Notes
TitleAlignment NavBarTitleAlignment Auto Auto centres on iOS/Mac Catalyst, leads elsewhere.
TitleFontSize double unset Follows the theme’s title-large size.
TitleFontFamily string? null Follows the theme’s family.
TitleFontAttributes FontAttributes Bold
Property Type Default Notes
LargeTitleDisplay LargeTitleDisplay None Inherit resolves to None here.
LargeTitleHeight double 52 Height of the row at rest.
LargeTitleCollapseDistance double 48 Scroll distance over which it folds. ≤ 0 folds the moment the page moves.
LargeTitleFontSize double unset Follows the theme’s headline-medium size.

Appearance (applied to every page’s bar)

Section titled “Appearance (applied to every page’s bar)”
Property Type Default
BarHeight double 56
BarPadding Thickness 4,0
HasShadow bool true
HasSeparator bool false
ItemSpacing double 2
IconSize double 22
MaxVisibleItems int 3 (per side; ≤ 0 = no limit)
OverflowIcon string? null (the three-dot glyph)
MenuTemplate DataTemplate? null
AnimationDuration uint 180
BarIconColor Color? null
Property Type Default Notes
EnableSwipeBackGesture bool true iOS only. UIKit disables the edge-swipe pop while the bar is hidden; this puts it back.
Member Notes
static ShinyNavBar? GetNavBar(Page page) The bar drawn over a page, or null.
ShinyNavBar? CurrentNavBar The bar over the page that is showing.
event EventHandler<NavBarItemEventArgs> NavBarItemInvoked An item on any of this page’s bars was tapped.
Property Type Default Notes
LeftItems NavBarItemCollection live, empty Drawn after the back button.
RightItems NavBarItemCollection live, empty Drawn after the page’s own ToolbarItems.
Subtitle string? null A second line under the title.
LargeTitle string? null Falls back to Page.Title.
LargeTitleDisplay LargeTitleDisplay Inherit Inherit = follow the navigation page.
ScrollSource View? null Unset: the first ScrollView/ItemsView found.
IsNavBarVisible bool true The runtime switch — see the caution below.
BarBackgroundColor Color? null Overrides the navigation page’s.
BarTextColor Color? null Overrides the navigation page’s.
TitleAlignment NavBarTitleAlignment Auto Auto = follow the navigation page.
BackButtonIcon string? null A motion icon name instead of the chevron.
BackButtonCommand ICommand? null Runs instead of popping. Nothing is popped for you.
BackButtonCommandParameter object? null

Inherits Text, IconImageSource, Command, CommandParameter, IsEnabled, IsDestructive, Clicked, Order, Priority and AutomationId, all unchanged.

Property Type Default Notes
Icon string? null A built-in motion icon name.
IconSource MotionIconDefinition? null Explicit motion artwork. Beats Icon.
IconPathData string? null A raw SVG path in a 24×24 box.
Motion MotionPreset Default Which motion the icon plays.
IconColor Color? null Tints motion artwork only; a bitmap is drawn as supplied.
Badge string? null "" is a dot, null is nothing.
BadgeColor Color? null Follows the theme’s error colour.
Display NavBarItemDisplay Auto Auto/Icon/Text/IconAndText.
IsVisible bool true Hides without removing.
IsSeparator bool false A divider — in the overflow menu only.
Tag object? null

Usable standalone at the top of any layout. It owns no navigation.

Property Type Default
LeftItems / RightItems IList<ToolbarItem> empty
Title / Subtitle / LargeTitle string? null
TitleView View? null
TitleIcon ImageSource? null
TitleAlignment NavBarTitleAlignment Auto
LargeTitleDisplay LargeTitleDisplay None
CollapseProgress double 0 — 0 open, 1 folded; bindable
BarBackground Brush? null — beats BarBackgroundColor
BarBackgroundColor / BarTextColor / IconColor Color? null
BarHeight / BarPadding / HasShadow / HasSeparator 56 / 4,0 / true / false
ItemSpacing / IconSize / MaxVisibleItems 2 / 22 / 3
OverflowIcon / MenuTemplate / AnimationDuration null / null / 180
IsBackButtonVisible / BackButtonText / BackButtonIcon false / null / null
BackButtonCommand / BackButtonCommandParameter null
Member Notes
bool IsMenuOpen True while an overflow menu is on screen.
void OpenMenu(NavBarSide side) Does nothing when that side has no overflow.
void CloseMenu()
void AttachScrollSource(View? source) What the collapsing large title follows. null stops.
event EventHandler<NavBarItemEventArgs> ItemInvoked After the item’s own command and Clicked.
event EventHandler<NavBarBackEventArgs> BackButtonPressed Set e.Cancel = true to stop the pop.
  • NavBarTitleAlignmentAuto, Start, Center
  • LargeTitleDisplayInherit, None, Always, Collapsing
  • NavBarItemDisplayAuto, Icon, Text, IconAndText
  • NavBarSideLeft, Right
claude plugin marketplace add shinyorg/skills
claude plugin install shiny@shiny

One plugin installs all 35 Shiny skills. Your agent loads only the skill relevant to what you're building, so there's no cost to having them all available.

copilot plugin marketplace add https://github.com/shinyorg/skills
copilot plugin install shiny@shiny

One plugin installs all 35 Shiny skills. Your agent loads only the skill relevant to what you're building, so there's no cost to having them all available.

View Skills Repository