Phil Scott c2da268129
Docs redesign (#728)
* Adding a dark mode
* Adding reference for types to summary pages
* Adding API Reference
* Adding modifiers to methods/fields/etc
* Minimizing files input
* Caching a lot of the output pages
* Cache only for each execution
* Adding API references to existing docs
2022-02-14 18:44:25 +01:00

1.4 KiB

Title: Tree Order: 10 Description: "The Tree widget can be used to render hierarchical data." Highlights: - Custom colors and styles for guidelines. - Include any Spectre.Console widgets as child nodes. Reference: T:Spectre.Console.Tree


The Tree widget can be used to render hierarchical data.

Usage

// Create the tree
var root = new Tree("Root");

// Add some nodes
var foo = root.AddNode("[yellow]Foo[/]");
var table = foo.AddNode(new Table()
    .RoundedBorder()
    .AddColumn("First")
    .AddColumn("Second")
    .AddRow("1", "2")
    .AddRow("3", "4")
    .AddRow("5", "6"));

table.AddNode("[blue]Baz[/]");
foo.AddNode("Qux");

var bar = root.AddNode("[yellow]Bar[/]");
bar.AddNode(new Calendar(2020, 12)
    .AddCalendarEvent(2020, 12, 12)
    .HideHeader());

// Render the tree
AnsiConsole.Write(root);

Collapsing nodes

root.AddNode("Label").Collapsed();

Appearance

Style

var root = new Tree("Root")
    .Style("white on red");

Guide lines

// ASCII guide lines
var root = new Tree("Root")
    .Guide(TreeGuide.Ascii);

// Default guide lines
var root = new Tree("Root")
    .Guide(TreeGuide.Line);

// Double guide lines
var root = new Tree("Root")
    .Guide(TreeGuide.DoubleLine);

// Bold guide lines
var root = new Tree("Root")
    .Guide(TreeGuide.BoldLine);