mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-16 08:52:50 +08:00
71 lines
1.2 KiB
Markdown
71 lines
1.2 KiB
Markdown
Title: Tree
|
|
Order: 10
|
|
---
|
|
|
|
The `Tree` widget can be used to render hierarchical data.
|
|
|
|
<?# AsciiCast cast="tree" /?>
|
|
|
|
## Usage
|
|
|
|
```csharp
|
|
// 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.Render(root);
|
|
```
|
|
|
|
## Collapsing nodes
|
|
|
|
```csharp
|
|
root.AddNode("Label").Collapsed();
|
|
```
|
|
|
|
## Appearance
|
|
|
|
### Style
|
|
|
|
```csharp
|
|
var root = new Tree("Root")
|
|
.Style("white on red");
|
|
```
|
|
|
|
### Guide lines
|
|
|
|
```csharp
|
|
// 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);
|
|
```
|