Skip to content
ConsoleMonster
Class

Breadcrumb

ConsoleMonster.Interactive

Namespace
ConsoleMonster.Interactive
Assembly
ConsoleMonster
Implements
IWidget
Modifiers
sealed

A path on one row, such as Settings › Network › Proxy: the last segment is where you are, the others lead back up. It shows its own Breadcrumb.Segments, or follows an Breadcrumb.Outline, showing the headings around the outline's current entry after any Breadcrumb.Ancestors segments. When the row is too narrow the leading segments give way to an ellipsis. It is a focus stop that initial focus skips: ←/→ choose a segment and Enter opens it, as a click does. Opening a segment makes it the value, and opening a followed outline's heading opens that outline entry.

Inheritance

Usage

Explore 47 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters 22

Constructors

public Breadcrumb(string key) #

Creates a breadcrumb.

Parameters

key string required
The application-state key; its value is the last segment opened.

Properties

public IList<string> Segments { get; } #

The segments shown when no outline is followed, outermost first.

public IList<string> Ancestors { get; } #

Segments shown before a followed outline's headings, such as the screen and tab names.

public Outline? Outline { get; set; } #

The outline whose current entry this breadcrumb shows, or null to show Breadcrumb.Segments.

Extension Methods

public static Breadcrumb AddAncestor(Breadcrumb breadcrumb, string item) #

Adds an item to Breadcrumb.Ancestors: Segments shown before a followed outline's headings, such as the screen and tab names.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
item string required
The item.

Returns

Breadcrumb The same instance.
AddAncestors 2 overloads
public static Breadcrumb AddAncestors(Breadcrumb breadcrumb, params string[] items) #

Adds items to Breadcrumb.Ancestors: Segments shown before a followed outline's headings, such as the screen and tab names.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
items string[] required
The items, in order.

Returns

Breadcrumb The same instance.
public static Breadcrumb AddAncestors(Breadcrumb breadcrumb, IEnumerable<string> items) #

Adds items to Breadcrumb.Ancestors: Segments shown before a followed outline's headings, such as the screen and tab names.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
items System.Collections.Generic.IEnumerable<string> required
The items, in order.

Returns

Breadcrumb The same instance.
public static Breadcrumb AddBinding(Breadcrumb breadcrumb, KeyBinding item) #

Adds an item to InputControl.Bindings: Keys that apply while this control has focus. They reach the control before its own keys (so Enter can open the selected row) and feed the app footer.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
item ConsoleMonster.Interactive.KeyBinding required
The item.

Returns

Breadcrumb The same instance.
AddBindings 2 overloads
public static Breadcrumb AddBindings(Breadcrumb breadcrumb, params KeyBinding[] items) #

Adds items to InputControl.Bindings: Keys that apply while this control has focus. They reach the control before its own keys (so Enter can open the selected row) and feed the app footer.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
items ConsoleMonster.Interactive.KeyBinding[] required
The items, in order.

Returns

Breadcrumb The same instance.
public static Breadcrumb AddBindings(Breadcrumb breadcrumb, IEnumerable<KeyBinding> items) #

Adds items to InputControl.Bindings: Keys that apply while this control has focus. They reach the control before its own keys (so Enter can open the selected row) and feed the app footer.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
items System.Collections.Generic.IEnumerable<ConsoleMonster.Interactive.KeyBinding> required
The items, in order.

Returns

Breadcrumb The same instance.
public static Breadcrumb AddSegment(Breadcrumb breadcrumb, string item) #

Adds an item to Breadcrumb.Segments: The segments shown when no outline is followed, outermost first.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
item string required
The item.

Returns

Breadcrumb The same instance.
AddSegments 2 overloads
public static Breadcrumb AddSegments(Breadcrumb breadcrumb, params string[] items) #

Adds items to Breadcrumb.Segments: The segments shown when no outline is followed, outermost first.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
items string[] required
The items, in order.

Returns

Breadcrumb The same instance.
public static Breadcrumb AddSegments(Breadcrumb breadcrumb, IEnumerable<string> items) #

Adds items to Breadcrumb.Segments: The segments shown when no outline is followed, outermost first.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
items System.Collections.Generic.IEnumerable<string> required
The items, in order.

Returns

Breadcrumb The same instance.
Disabled 2 overloads
public static Breadcrumb Disabled(Breadcrumb breadcrumb, bool value) #

Sets InputControl.Disabled: Whether this control is excluded from input and focus traversal.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
value bool required
The value.

Returns

Breadcrumb The same instance.

Examples

// C# initializer or property    // C# fluent
breadcrumb.Disabled = value;     breadcrumb.Disabled(value);
public static Breadcrumb Disabled(Breadcrumb breadcrumb) #

Sets InputControl.Disabled to true.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance to configure.

Returns

Breadcrumb The same instance.
public static Breadcrumb Label(Breadcrumb breadcrumb, string? value) #

Sets InputControl.Label: The visible label, or null to use the name.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
value string? required
The value.

Returns

Breadcrumb The same instance.

Examples

// C# initializer or property    // C# fluent
breadcrumb.Label = value;        breadcrumb.Label(value);
Outline 2 overloads
public static Breadcrumb Outline(Breadcrumb breadcrumb, Outline? value) #

Sets Breadcrumb.Outline: The outline whose current entry this breadcrumb shows, or null to show Breadcrumb.Segments.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
value ConsoleMonster.Interactive.Outline? required
The value.

Returns

Breadcrumb The same instance.

Examples

// C# initializer or property    // C# fluent
breadcrumb.Outline = value;      breadcrumb.Outline(value);
public static Breadcrumb Outline(Breadcrumb breadcrumb, Action<Outline> configure) #

Configures Breadcrumb.Outline in place: The outline whose current entry this breadcrumb shows, or null to show Breadcrumb.Segments.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
configure System.Action<ConsoleMonster.Interactive.Outline> required
Configures the value.

Returns

Breadcrumb The same instance.
public static Breadcrumb TabIndex(Breadcrumb breadcrumb, int value) #

Sets InputControl.TabIndex: Focus order; equal values preserve declaration order.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
value int required
The value.

Returns

Breadcrumb The same instance.

Examples

// C# initializer or property    // C# fluent
breadcrumb.TabIndex = value;     breadcrumb.TabIndex(value);
public static Breadcrumb ValidationMessage(Breadcrumb breadcrumb, string? value) #

Sets InputControl.ValidationMessage: The current validation message below the control, or null.

Parameters

breadcrumb ConsoleMonster.Interactive.Breadcrumb required
The instance.
value string? required
The value.

Returns

Breadcrumb The same instance.

Examples

// C# initializer or property            // C# fluent
breadcrumb.ValidationMessage = value;    breadcrumb.ValidationMessage(value);