Version: Unity 6.0 (6000.0)
LanguageEnglish
  • C#

TreeView

class in UnityEngine.UIElements

/

Inherits from:UIElements.BaseTreeView

/

Implemented in:UnityEngine.UIElementsModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

A TreeView is a vertically scrollable area that links to, and displays, a list of items organized in a tree.

A TreeView is a ScrollView with additional logic to display a tree of vertically-arranged VisualElements. Each VisualElement in the tree is bound to a corresponding element in a data-source list. The data-source list can contain elements of any type.

The logic required to create VisualElements, and to bind them to or unbind them from the data source, varies depending on the intended result. It's up to you to implement logic that is appropriate to your use case. For the ListView to function correctly, you must supply at least the following:

- BaseVerticalCollectionView.fixedItemHeight

It is also recommended to supply the following for more complex items:

The TreeView creates VisualElements for the visible items, and supports binding many more. As the user scrolls, the TreeView recycles VisualElements and re-binds them to new data items.

For more information, refer to UXML element TreeView.

Properties

Description
bindItem Callback for binding a data item to the visual element.
destroyItem Callback invoked when a VisualElement created via makeItem is no longer needed and will be destroyed.
itemTemplate A UXML template that constructs each recycled and rebound element within the tree. This template is designed to replace the makeItem definition.
makeItem Callback for constructing the VisualElement that is the template for each recycled and re-bound element in the list.
unbindItem Callback for unbinding a data item from the VisualElement.
viewController The view controller for this view, cast as a TreeViewController.

Constructors

Description
TreeView Creates a TreeView with all default properties.

Inherited Members

Static Properties

Description
itemContentContainerUssClassName The USS class name for TreeView item container elements.
itemIndentUssClassName The USS class name for TreeView indent element.
itemToggleUssClassName The USS class name for TreeView item toggle elements.
itemUssClassName The USS class name for TreeView item elements.
ussClassName The USS class name for TreeView elements.
borderUssClassName The USS class name for BaseVerticalCollectionView elements with a border.
dragHoverBarUssClassName The USS class name of the drag hover bar.
dragHoverMarkerUssClassName The USS class name of the drag hover circular marker used to indicate depth.
itemAlternativeBackgroundUssClassName The USS class name for odd rows in the BaseVerticalCollectionView.
itemDragHoverUssClassName The USS class name applied to an item element on drag hover.
itemSelectedVariantUssClassName The USS class name of selected item elements in the BaseVerticalCollectionView.
listScrollViewUssClassName The USS class name of the scroll view in the BaseVerticalCollectionView.
disabledUssClassName USS class name of local disabled elements.

Properties

Description
autoExpand When true, items are automatically expanded when added to the TreeView.
itemsSource Access to the itemsSource. For a TreeView, the source contains the items wrappers.
viewController The view controller for this view, cast as a BaseTreeViewController.
contentContainer Returns the content container for the BaseVerticalCollectionView. Because the BaseVerticalCollectionView control automatically manages its content, this always returns null.
fixedItemHeight The height of a single item in the list, in pixels.
horizontalScrollingEnabled This property controls whether the collection view shows a horizontal scroll bar when its content does not fit in the visible area.
reorderable Gets or sets a value that indicates whether the user can drag list items to reorder them.
selectedIds Returns the persistent IDs of selected items in the data source, regardless of whether they are collapsed or not. Always returns an enumerable, even if no item is selected, or a single item is selected.
selectedIndex Returns or sets the selected item's index in the data source. If multiple items are selected, returns the first selected item's index. If multiple items are provided, sets them all as selected. If no item is selected, returns -1.
selectedIndices Returns the indices of selected items in the data source. Always returns an enumerable, even if no item is selected, or a single item is selected.
selectedItem Returns the selected item from the data source. If multiple items are selected, returns the first selected item.
selectedItems Returns the selected items from the data source. Always returns an enumerable, even if no item is selected, or a single item is selected.
selectionType Controls the selection type.
showAlternatingRowBackgrounds This property controls whether the background colors of collection view rows alternate. Takes a value from the AlternatingRowBackground enum.
showBorder Enable this property to display a border around the collection view.
virtualizationMethod The virtualization method to use for this collection when a scroll bar is visible. Takes a value from the CollectionVirtualizationMethod enum.
binding Binding object that will be updated.
bindingPath Path of the target property to be bound.
canGrabFocus Return true if the element can be focused.
delegatesFocus Whether the element should delegate the focus to its children.
focusable True if the element can be focused.
focusController Return the focus controller for this element.
tabIndex An integer used to sort focusables in the focus ring. Must be greater than or equal to zero.
childCount Number of child elements in this object's contentContainer.
contentRect The rectangle of the content area of the element, in the local space of the element. (Read Only)
customStyle The custom style properties accessor of a VisualElement (Read Only).
dataSource Assigns a data source to this VisualElement which overrides any inherited data source. This data source is inherited by all children.
dataSourcePath Path from the data source to the value.
dataSourceType The possible type of data source assignable to this VisualElement. This information is only used by the UI Builder as a hint to provide some completion to the data source path field when the effective data source cannot be specified at design time.
disablePlayModeTint Play-mode tint is applied by default unless this is set to true. It's applied hierarchically to this VisualElement and to all its children that exist on an editor panel.
enabledInHierarchy Returns true if the VisualElement is enabled in its own hierarchy.
enabledSelf Returns true if the VisualElement is enabled locally.
experimental Returns the UIElements experimental interfaces.
generateVisualContent Delegate function to generate the visual content of a visual element.
hierarchy Access to this element physical hierarchy
languageDirection Indicates the directionality of the element's text. The value will propagate to the element's children.
layout The position and size of the VisualElement relative to its parent, as computed by the layout system. (Read Only)
localBound Returns a Rect representing the Axis-aligned Bounding Box (AABB) after applying the transform, but before applying the layout translation.
name The name of this VisualElement.
paddingRect The rectangle of the padding area of the element, in the local space of the element.
panel The panel onto which this VisualElement is attached.
parent The parent of this VisualElement.
pickingMode Determines if this element can be pick during mouseEvents or IPanel.Pick queries.
resolvedStyle The final rendered style values of a visual element, as it's rendered in the current frame.(Read Only)
scaledPixelsPerPoint Return the resulting scaling from the panel that considers the screen DPI and the customizable scaling factor, but not the transform scale of the element and its ancestors. See Panel.scaledPixelsPerPoint. This should only be called on elements that are part of a panel.
schedule Retrieves this VisualElement's IVisualElementScheduler
style Sets the style values on a VisualElement.
styleSheets Returns a VisualElementStyleSheetSet that manipulates style sheets attached to this element.
this[int] Retrieves the child element at a specific index.
tooltip Text to display inside an information box after the user hovers the element for a small amount of time. This is only supported in the Editor UI.
transform Returns a transform object for this VisualElement. ITransform
usageHints A combination of hint values that specify high-level intended usage patterns for the VisualElement. This property can only be set when the VisualElement is not yet part of a Panel. Once part of a Panel, this property becomes effectively read-only, and attempts to change it will throw an exception. The specification of proper UsageHints drives the system to make better decisions on how to process or accelerate certain operations based on the anticipated usage pattern. Note that those hints do not affect behavioral or visual results, but only affect the overall performance of the panel and the elements within. It's advised to always consider specifying the proper UsageHints, but keep in mind that some UsageHints might be internally ignored under certain conditions (e.g. due to hardware limitations on the target platform).
userData This property can be used to associate application-specific user data with this VisualElement.
viewDataKey Used for view data persistence, such as tree expanded states, scroll position, or zoom level.
visible Indicates whether or not this element should be rendered.