Navigation & Menus
Menu bars, cascading menus, context menus, navigation bars and drawers, status bars, panels and swimlanes
Navigation controls arrange the application shell and diagram structure. The Menu and Tabs pages cover those controls; this page documents the surrounding family.
On this page
Navigation Bars and Drawers
Primary navigation surfaces.
NavigationBar
A Material Design 3.0 Navigation Bar component for bottom navigation.
| Member | Kind | Description |
|---|---|---|
IReadOnlyList<NavigationBarItem> Items | Property | Gets the list of navigation bar items. |
NavigationBarItem SelectedItem | Property | Gets or sets the currently selected navigation bar item. |
SKColor BackgroundColor | Property | Gets or sets the background color of the navigation bar. |
SKColor ActiveColor | Property | Gets or sets the active/selected color for navigation items. |
SKColor InactiveColor | Property | Gets or sets the inactive color for navigation items. |
float ItemHeight | Property | Gets or sets the height of navigation items. |
float IconSize | Property | Gets or sets the size of icons in navigation items. |
float LabelFontSize | Property | Gets or sets the font size for item labels. |
bool ShowLabels | Property | Gets or sets whether to show labels for navigation items. |
event EventHandler<NavigationBarItemEventArgs> ItemSelected | Event | Occurs when a navigation item is selected. |
NavigationBar() | Method | Initializes a new instance of the NavigationBar class. |
void AddItem(NavigationBarItem item) | Method | Adds a navigation bar item. The navigation bar item to add. |
NavigationBarItem AddItem(string icon, string label, object tag = null) | Method | Adds 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) | Method | Removes a navigation bar item. The navigation bar item to remove. |
void ClearItems() | Method | Clears all navigation bar items. |
void SelectItem(int index) | Method | Selects the item at the specified index. The index of the item to select. |
new void HandleMouseDown(SKPoint point, InteractionContext context) | Method | Public 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.
| Member | Kind | Description |
|---|---|---|
IReadOnlyList<NavigationDrawerBaseItem> Items | Property | Gets the list of navigation drawer items. |
NavigationDrawerItem SelectedItem | Property | Gets or sets the currently selected navigation drawer item. |
NavigationDrawerHeader Header | Property | Gets or sets the header of the navigation drawer. |
SKColor BackgroundColor | Property | Gets or sets the background color of the navigation drawer. |
SKColor SurfaceTintColor | Property | Gets or sets the surface tint color of the navigation drawer. |
SKColor SelectedItemColor | Property | Gets or sets the color for selected navigation items. |
SKColor UnselectedItemColor | Property | Gets or sets the color for unselected navigation items. |
float ItemHeight | Property | Gets or sets the height of navigation items. |
float DividerHeight | Property | Gets or sets the height of dividers. |
float HeaderHeight | Property | Gets or sets the height of the header. |
bool IsOpen | Property | Gets or sets whether the navigation drawer is open. |
float DrawerWidth | Property | Gets or sets the width of the navigation drawer. |
DrawerPosition Position | Property | Gets or sets the position of the navigation drawer. |
DrawerType DrawerType | Property | Gets or sets the type of the navigation drawer. |
event EventHandler<NavigationDrawerItemEventArgs> ItemSelected | Event | Occurs when a navigation item is selected. |
event EventHandler DrawerOpened | Event | Occurs when the navigation drawer is opened. |
event EventHandler DrawerClosed | Event | Occurs when the navigation drawer is closed. |
NavigationDrawer() | Method | Initializes a new instance of the NavigationDrawer class. |
void AddItem(NavigationDrawerBaseItem item) | Method | Adds a navigation drawer item. The navigation drawer item to add. |
NavigationDrawerItem AddItem(string icon, string label, string badge = null, object tag = null) | Method | Adds 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() | Method | Adds a divider to the navigation drawer. |
void RemoveItem(NavigationDrawerBaseItem item) | Method | Removes a navigation drawer item. The navigation drawer item to remove. |
void ClearItems() | Method | Clears all navigation drawer items. |
void Open() | Method | Opens the navigation drawer. |
void Close() | Method | Closes the navigation drawer. |
void Toggle() | Method | Toggles the navigation drawer open/closed state. |
new void HandleMouseDown(SKPoint point, InteractionContext context) | Method | Public wrapper for mouse down events (used by demos). |
NavigationItem
Represents an item in a navigation component
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the item text |
string Icon | Property | Gets or sets the icon name or path |
SKColor TextColor | Property | Gets or sets the text color |
SKColor IconColor | Property | Gets or sets the icon color |
SKColor BackgroundColor | Property | Gets or sets the background color |
SKColor SelectedBackgroundColor | Property | Gets or sets the selected background color |
SKColor HoverBackgroundColor | Property | Gets or sets the hover background color |
float Height | Property | Gets or sets the item height |
bool IsVisible | Property | Gets or sets whether the item is visible |
bool IsEnabled | Property | Gets or sets whether the item is enabled |
bool IsSelected | Property | Gets or sets whether the item is selected |
object Tag | Property | Gets or sets the tag object |
bool IsHovered | Property | Gets whether the item is currently hovered |
bool IsPressed | Property | Gets whether the item is currently pressed |
NavigationBar ParentNavigationBar | Property | Gets the parent NavigationBar |
event EventHandler Click | Event | Occurs when the item is clicked |
NavigationItem() | Method | Initializes a new instance of the NavigationItem class |
NavigationItem(string text) | Method | Initializes a new instance of the NavigationItem class with text |
NavigationItem(string text, string icon) | Method | Initializes a new instance of the NavigationItem class with text and icon |
virtual void PerformClick() | Method | Raises the Click event |
Status Bars
Status reporting along the bottom edge.
StatusBar
A Material Design 3.0 status bar component
| Member | Kind | Description |
|---|---|---|
StatusBarItemCollection Items | Property | Gets the collection of status bar items |
SKColor BackgroundColor | Property | Gets or sets the background color |
SKColor BorderColor | Property | Gets or sets the border color |
float BorderWidth | Property | Gets or sets the border width |
float ItemSpacing | Property | Gets or sets the spacing between items |
bool ShowBorder | Property | Gets or sets whether to show the border |
StatusBar() | Method | Initializes a new instance of the StatusBar class |
StatusBarItem AddItem(string text) | Method | Adds a status bar item with the specified text |
StatusBarItem AddItem(string text, float width) | Method | Adds a status bar item with the specified text and width |
void RemoveItem(StatusBarItem item) | Method | Removes a status bar item |
void ClearItems() | Method | Clears all items from the status bar |
StatusBarItem
Represents an item in a status bar
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the item text |
SKColor TextColor | Property | Gets or sets the text color |
SKColor BackgroundColor | Property | Gets or sets the background color |
float Width | Property | Gets or sets the item width |
TextAlignment TextAlignment | Property | Gets or sets the text alignment |
bool IsVisible | Property | Gets or sets whether the item is visible |
object Tag | Property | Gets or sets the tag object |
StatusBar ParentStatusBar | Property | Gets the parent StatusBar |
StatusBarItem() | Method | Initializes a new instance of the StatusBarItem class |
StatusBarItem(string text) | Method | Initializes 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.
| Member | Kind | Description |
|---|---|---|
PanelVariant Variant | Property | Gets or sets the panel variant (Material Design 3.0). |
float CornerRadius | Property | Gets or sets the corner radius of the panel. |
SKColor BackgroundColor | Property | Gets or sets the background color of the panel (for backward compatibility). |
SKColor BorderColor | Property | Gets or sets the border color of the panel (for backward compatibility). |
float BorderWidth | Property | Gets or sets the border width of the panel (for backward compatibility). |
string Title | Property | Gets or sets the title text displayed above the panel. |
Panel() | Method | Initializes a new instance of the Panel class. |
Panel(float width, float height) : this() | Method | Initializes a new instance of the Panel class with specified dimensions. |
void AddChild(SkiaComponent child, float x, float y) | Method | Adds 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.
| Member | Kind | Description |
|---|---|---|
bool OrientationHorizontal | Property | Gets or sets the orientation of the lanes. True = horizontal rows, false = vertical columns. |
float HeaderSize | Property | Gets or sets the header size (height for horizontal, width for vertical). |
IReadOnlyList<Swimlane> Lanes | Property | Gets the list of lanes in this container. |
bool AllowCollapse | Property | Gets or sets whether lane headers are collapsible. |
float LaneSpacing | Property | Gets or sets the separation between lanes in pixels. |
SwimlaneContainer() | Method | Initializes a new instance of the SwimlaneContainer class. |
Swimlane AddLane(string title) | Method | Adds a new lane with the given title. |
void RemoveLane(Swimlane lane) | Method | Removes a lane and all its children. |
void AddToLane(SkiaComponent component, Swimlane lane) | Method | Adds a component to a specific lane. |
Swimlane GetLaneAtPoint(SKPoint localPoint) | Method | Gets 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) | Method | Gets or sets the set propperties. |