# Sandbox.UI.TreeRow

One visible row of a [Sandbox.UI.BaseTreeView](/api/Sandbox.UI.BaseTreeView). Rows are pooled and rebound as the tree
scrolls, so anything you add to one must be created once and updated on every bind.

- Kind: class
- Namespace: `Sandbox.UI`
- Assembly: `Sandbox.Engine`
- Inherits: [Sandbox.UI.Panel](/api/Sandbox.UI.Panel)

## Constructors

- [`TreeRow`](/api/Sandbox.UI.TreeRow/.ctor)

## Properties

- [`Content`](/api/Sandbox.UI.TreeRow/Content): Where a row's own controls go - toggles, buttons, badges - added once and updated on every bind. Clicks on them belong to them: they don't select or activate the row.
- [`Expander`](/api/Sandbox.UI.TreeRow/Expander): The expand/collapse arrow. Hidden on rows without children.
- [`Icon`](/api/Sandbox.UI.TreeRow/Icon): An optional icon before the label.
- [`IconName`](/api/Sandbox.UI.TreeRow/IconName): Material icon name. Null or empty hides the icon.
- [`IsRenaming`](/api/Sandbox.UI.TreeRow/IsRenaming): True while the label is swapped for a text entry.
- [`Label`](/api/Sandbox.UI.TreeRow/Label): The row's text.
- [`RowIndex`](/api/Sandbox.UI.TreeRow/RowIndex): Index into the tree's flat row list, or -1 while pooled.
- [`Text`](/api/Sandbox.UI.TreeRow/Text): The row's label text. Only touches the label when it changes.
- [`Tree`](/api/Sandbox.UI.TreeRow/Tree): The tree this row belongs to.
- [`WantsDrag`](/api/Sandbox.UI.TreeRow/WantsDrag): Rows drag when the tree says this row can.

## Methods

- [`BeginRename`](/api/Sandbox.UI.TreeRow/BeginRename): Swap the label for a text entry until enter, escape, or focus loss.
