Navigation controls arrange the application shell and diagram structure. The Menu and Tabs pages cover those controls; this page documents the surrounding family.

Navigation Bars and Drawers

Primary navigation surfaces.

NavigationBar

A Material Design 3.0 Navigation Bar component for bottom navigation.

MemberKindDescription
IReadOnlyList<NavigationBarItem> ItemsPropertyGets the list of navigation bar items.
NavigationBarItem SelectedItemPropertyGets or sets the currently selected navigation bar item.
SKColor BackgroundColorPropertyGets or sets the background color of the navigation bar.
SKColor ActiveColorPropertyGets or sets the active/selected color for navigation items.
SKColor InactiveColorPropertyGets or sets the inactive color for navigation items.
float ItemHeightPropertyGets or sets the height of navigation items.
float IconSizePropertyGets or sets the size of icons in navigation items.
float LabelFontSizePropertyGets or sets the font size for item labels.
bool ShowLabelsPropertyGets or sets whether to show labels for navigation items.
event EventHandler<NavigationBarItemEventArgs> ItemSelectedEventOccurs when a navigation item is selected.
NavigationBar()MethodInitializes a new instance of the NavigationBar class.
void AddItem(NavigationBarItem item)MethodAdds a navigation bar item. The navigation bar item to add.
NavigationBarItem AddItem(string icon, string label, object tag = null)MethodAdds a navigation bar item with the specified icon and label. The icon for the navigation item. The label text for the navigation item. Optional tag object for the item.
void RemoveItem(NavigationBarItem item)MethodRemoves a navigation bar item. The navigation bar item to remove.
void ClearItems()MethodClears all navigation bar items.
void SelectItem(int index)MethodSelects the item at the specified index. The index of the item to select.
new void HandleMouseDown(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse down events (used by demos).

NavigationDrawer

A Material Design 3.0 Navigation Drawer component that slides in from the edge of the screen.

MemberKindDescription
IReadOnlyList<NavigationDrawerBaseItem> ItemsPropertyGets the list of navigation drawer items.
NavigationDrawerItem SelectedItemPropertyGets or sets the currently selected navigation drawer item.
NavigationDrawerHeader HeaderPropertyGets or sets the header of the navigation drawer.
SKColor BackgroundColorPropertyGets or sets the background color of the navigation drawer.
SKColor SurfaceTintColorPropertyGets or sets the surface tint color of the navigation drawer.
SKColor SelectedItemColorPropertyGets or sets the color for selected navigation items.
SKColor UnselectedItemColorPropertyGets or sets the color for unselected navigation items.
float ItemHeightPropertyGets or sets the height of navigation items.
float DividerHeightPropertyGets or sets the height of dividers.
float HeaderHeightPropertyGets or sets the height of the header.
bool IsOpenPropertyGets or sets whether the navigation drawer is open.
float DrawerWidthPropertyGets or sets the width of the navigation drawer.
DrawerPosition PositionPropertyGets or sets the position of the navigation drawer.
DrawerType DrawerTypePropertyGets or sets the type of the navigation drawer.
event EventHandler<NavigationDrawerItemEventArgs> ItemSelectedEventOccurs when a navigation item is selected.
event EventHandler DrawerOpenedEventOccurs when the navigation drawer is opened.
event EventHandler DrawerClosedEventOccurs when the navigation drawer is closed.
NavigationDrawer()MethodInitializes a new instance of the NavigationDrawer class.
void AddItem(NavigationDrawerBaseItem item)MethodAdds a navigation drawer item. The navigation drawer item to add.
NavigationDrawerItem AddItem(string icon, string label, string badge = null, object tag = null)MethodAdds a navigation drawer item with the specified icon, label, and badge. The icon for the navigation item. The label text for the navigation item. The badge text for the navigation item. Optional tag object for the item.
void AddDivider()MethodAdds a divider to the navigation drawer.
void RemoveItem(NavigationDrawerBaseItem item)MethodRemoves a navigation drawer item. The navigation drawer item to remove.
void ClearItems()MethodClears all navigation drawer items.
void Open()MethodOpens the navigation drawer.
void Close()MethodCloses the navigation drawer.
void Toggle()MethodToggles the navigation drawer open/closed state.
new void HandleMouseDown(SKPoint point, InteractionContext context)MethodPublic wrapper for mouse down events (used by demos).

NavigationItem

Represents an item in a navigation component

MemberKindDescription
string TextPropertyGets or sets the item text
string IconPropertyGets or sets the icon name or path
SKColor TextColorPropertyGets or sets the text color
SKColor IconColorPropertyGets or sets the icon color
SKColor BackgroundColorPropertyGets or sets the background color
SKColor SelectedBackgroundColorPropertyGets or sets the selected background color
SKColor HoverBackgroundColorPropertyGets or sets the hover background color
float HeightPropertyGets or sets the item height
bool IsVisiblePropertyGets or sets whether the item is visible
bool IsEnabledPropertyGets or sets whether the item is enabled
bool IsSelectedPropertyGets or sets whether the item is selected
object TagPropertyGets or sets the tag object
bool IsHoveredPropertyGets whether the item is currently hovered
bool IsPressedPropertyGets whether the item is currently pressed
NavigationBar ParentNavigationBarPropertyGets the parent NavigationBar
event EventHandler ClickEventOccurs when the item is clicked
NavigationItem()MethodInitializes a new instance of the NavigationItem class
NavigationItem(string text)MethodInitializes a new instance of the NavigationItem class with text
NavigationItem(string text, string icon)MethodInitializes a new instance of the NavigationItem class with text and icon
virtual void PerformClick()MethodRaises the Click event

Status Bars

Status reporting along the bottom edge.

StatusBar

A Material Design 3.0 status bar component

MemberKindDescription
StatusBarItemCollection ItemsPropertyGets the collection of status bar items
SKColor BackgroundColorPropertyGets or sets the background color
SKColor BorderColorPropertyGets or sets the border color
float BorderWidthPropertyGets or sets the border width
float ItemSpacingPropertyGets or sets the spacing between items
bool ShowBorderPropertyGets or sets whether to show the border
StatusBar()MethodInitializes a new instance of the StatusBar class
StatusBarItem AddItem(string text)MethodAdds a status bar item with the specified text
StatusBarItem AddItem(string text, float width)MethodAdds a status bar item with the specified text and width
void RemoveItem(StatusBarItem item)MethodRemoves a status bar item
void ClearItems()MethodClears all items from the status bar

StatusBarItem

Represents an item in a status bar

MemberKindDescription
string TextPropertyGets or sets the item text
SKColor TextColorPropertyGets or sets the text color
SKColor BackgroundColorPropertyGets or sets the background color
float WidthPropertyGets or sets the item width
TextAlignment TextAlignmentPropertyGets or sets the text alignment
bool IsVisiblePropertyGets or sets whether the item is visible
object TagPropertyGets or sets the tag object
StatusBar ParentStatusBarPropertyGets the parent StatusBar
StatusBarItem()MethodInitializes a new instance of the StatusBarItem class
StatusBarItem(string text)MethodInitializes a new instance of the StatusBarItem class with text

Containers

Panels and swimlanes for grouping components.

Panel

A Material Design 3.0 surface container component that can hold other components.

MemberKindDescription
PanelVariant VariantPropertyGets or sets the panel variant (Material Design 3.0).
float CornerRadiusPropertyGets or sets the corner radius of the panel.
SKColor BackgroundColorPropertyGets or sets the background color of the panel (for backward compatibility).
SKColor BorderColorPropertyGets or sets the border color of the panel (for backward compatibility).
float BorderWidthPropertyGets or sets the border width of the panel (for backward compatibility).
string TitlePropertyGets or sets the title text displayed above the panel.
Panel()MethodInitializes a new instance of the Panel class.
Panel(float width, float height) : this()MethodInitializes a new instance of the Panel class with specified dimensions.
void AddChild(SkiaComponent child, float x, float y)MethodAdds a child component to this panel.

SwimlaneContainer

A swimlane / pool / lane container for diagramming. Supports horizontal (row) and vertical (column) layouts with resizable header areas. Components added as children are automatically positioned within their assigned lane.

MemberKindDescription
bool OrientationHorizontalPropertyGets or sets the orientation of the lanes. True = horizontal rows, false = vertical columns.
float HeaderSizePropertyGets or sets the header size (height for horizontal, width for vertical).
IReadOnlyList<Swimlane> LanesPropertyGets the list of lanes in this container.
bool AllowCollapsePropertyGets or sets whether lane headers are collapsible.
float LaneSpacingPropertyGets or sets the separation between lanes in pixels.
SwimlaneContainer()MethodInitializes a new instance of the SwimlaneContainer class.
Swimlane AddLane(string title)MethodAdds a new lane with the given title.
void RemoveLane(Swimlane lane)MethodRemoves a lane and all its children.
void AddToLane(SkiaComponent component, Swimlane lane)MethodAdds a component to a specific lane.
Swimlane GetLaneAtPoint(SKPoint localPoint)MethodGets the lane that contains the given point (in component-local coordinates).
override Dictionary<string, object> GetProperties(bool includeCommon = true, bool includeNodeProperties = true)Method
override void SetPropperties(IDictionary<string, object> properties, bool updateNodeProperties = true, bool applyToPublicSetters = true)MethodGets or sets the set propperties.