Skip to content
ChartForgeX
Class

TreeViewBlock

ChartForgeX.VisualBlocks

Namespace
ChartForgeX.VisualBlocks
Assembly
ChartForgeX
Modifiers
sealed

A reusable static directory tree with source-ordered rows and shared SVG/native PNG geometry.

Inheritance

Remarks

Rows use contiguous preorder and parent-before-child IDs. Native limits are 10000 rows, 128 levels and an 8192-pixel frame per axis. Call WithNaturalSize after changing data, width, typography or padding. An undersized explicit frame rejects rather than reducing text to unreadable sizes.

Usage

Explore 19 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.

Constructors

public TreeViewBlock() #

Initializes an empty directory tree.

Methods

AddItem 2 overloads
public TreeViewBlock AddItem(TreeViewItem item) #

Adds one complete immutable row.

Parameters

item ChartForgeX.VisualBlocks.TreeViewItem required
public TreeViewBlock AddItem(string id, string label, string? parentId = null, string? description = null) #

Adds a row with automatic directory and icon policies.

Parameters

id string required
label string required
parentId string? = null optional
description string? = null optional
public static TreeViewBlock Create() #

Creates an empty directory tree.

public ChartSize MeasureNaturalSize(int width = 520, int minimumHeight = 0) #

Measures a complete fixed-width frame with bounded natural height.

Parameters

width int = 520 optional
minimumHeight int = 0 optional

Returns

ChartSize
public TreeViewBlock WithNaturalSize(int width = 520, int minimumHeight = 0) #

Captures the measured fixed-width natural frame without silently dropping rows.

Parameters

width int = 520 optional
minimumHeight int = 0 optional

Properties

public override string AccessibleName { get; } #

Gets a concise accessible name.

public IReadOnlyList<TreeViewItem> Items { get; } #

Gets immutable rows in authored preorder.

public bool ShowIcons { get; set; } #

Gets or sets whether Auto icons display native files and folders. Explicit icons are independent.

public double RowIndent { get; set; } #

Gets or sets indentation per level in logical pixels, from 4 through 256.

public double RowPadding { get; set; } #

Gets or sets vertical padding on each side of a row, from zero through 64 logical pixels.