# TreeViewController

> Tree view controller. View controllers of this type are meant to take care of data virtualized by any TreeView inheritor.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.5/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [BaseTreeViewController](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller.md)
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public abstract class TreeViewController : BaseTreeViewController, IDisposable
```

## Properties

| Property                                                                                          | Description                                                                                                         |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| [treeView](/engine/6000.5/script-reference/unityengine/uielements/treeviewcontroller/treeview.md) | View for this controller, cast as a [TreeView](/engine/6000.5/script-reference/unityengine/uielements/treeview.md). |

## Inheritance

**Inherited Members:**

* [BaseTreeViewController.GetRootItemIds()](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getrootitemids.md)
* [BaseTreeViewController.GetAllItemIds(IEnumerable\<int>)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getallitemids.md)
* [BaseTreeViewController.GetParentId(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getparentid.md)
* [BaseTreeViewController.GetChildrenIds(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getchildrenids.md)
* [BaseTreeViewController.Move(int, int, int, bool)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/move.md)
* [BaseTreeViewController.TryRemoveItem(int, bool)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/tryremoveitem.md)
* [BaseTreeViewController.GetTreeItemsCount()](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/gettreeitemscount.md)
* [BaseTreeViewController.GetIndexForId(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getindexforid.md)
* [BaseTreeViewController.GetIdForIndex(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getidforindex.md)
* [BaseTreeViewController.HasChildren(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/haschildren.md)
* [BaseTreeViewController.Exists(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/exists.md)
* [BaseTreeViewController.HasChildrenByIndex(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/haschildrenbyindex.md)
* [BaseTreeViewController.GetChildrenIdsByIndex(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getchildrenidsbyindex.md)
* [BaseTreeViewController.GetChildIndexForId(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getchildindexforid.md)
* [BaseTreeViewController.GetIndentationDepth(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getindentationdepth.md)
* [BaseTreeViewController.GetIndentationDepthByIndex(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/getindentationdepthbyindex.md)
* [BaseTreeViewController.CanChangeExpandedState(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/canchangeexpandedstate.md)
* [BaseTreeViewController.IsExpanded(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/isexpanded.md)
* [BaseTreeViewController.IsExpandedByIndex(int)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/isexpandedbyindex.md)
* [BaseTreeViewController.ExpandItemByIndex(int, bool, bool)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/expanditembyindex.md)
* [BaseTreeViewController.ExpandItem(int, bool, bool)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/expanditem.md)
* [BaseTreeViewController.CollapseItemByIndex(int, bool, bool)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/collapseitembyindex.md)
* [BaseTreeViewController.CollapseItem(int, bool, bool)](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/collapseitem.md)
* [BaseTreeViewController.ExpandAll()](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/expandall.md)
* [BaseTreeViewController.CollapseAll()](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/collapseall.md)
* [BaseTreeViewController.baseTreeView](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/basetreeview.md)
* [BaseTreeViewController.itemsSource](/engine/6000.5/script-reference/unityengine/uielements/basetreeviewcontroller/itemssource.md)
* [CollectionViewController.SetItemsSourceWithoutNotify(IList)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/setitemssourcewithoutnotify.md)
* [CollectionViewController.SetView(BaseVerticalCollectionView)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/setview.md)
* [CollectionViewController.PrepareView()](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/prepareview.md)
* [CollectionViewController.Dispose()](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/dispose.md)
* [CollectionViewController.GetItemsCount()](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/getitemscount.md)
* [CollectionViewController.GetItemForIndex(int)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/getitemforindex.md)
* [CollectionViewController.GetItemForId(int)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/getitemforid.md)
* [CollectionViewController.MakeItem()](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/makeitem.md)
* [CollectionViewController.BindItem(VisualElement, int)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/binditem.md)
* [CollectionViewController.UnbindItem(VisualElement, int)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/unbinditem.md)
* [CollectionViewController.DestroyItem(VisualElement)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/destroyitem.md)
* [CollectionViewController.RaiseItemsSourceChanged()](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/raiseitemssourcechanged.md)
* [CollectionViewController.RaiseItemIndexChanged(int, int)](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/raiseitemindexchanged.md)
* [CollectionViewController.view](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/view.md)
* [CollectionViewController.itemsSourceChanged](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/itemssourcechanged.md)
* [CollectionViewController.itemIndexChanged](/engine/6000.5/script-reference/unityengine/uielements/collectionviewcontroller/itemindexchanged.md)
