2021-04-24 22:20:59 +02:00

71 lines
1.2 KiB
Markdown

Title: Tree
Order: 10
---
The `Tree` widget can be used to render hierarchical data.
![Example of true output](../assets/images/tree.png)
## 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);
```