# ListView

> A ListView is a vertically scrollable area that links to, and displays, a list of items.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [BaseListView](/engine/6000.7/script-reference/unityengine/uielements/baselistview.md)
* **Implements:** [IEventHandler](/engine/6000.7/script-reference/unityengine/uielements/ieventhandler.md), [IResolvedStyle](/engine/6000.7/script-reference/unityengine/uielements/iresolvedstyle.md), [ITransform](/engine/6000.7/script-reference/unityengine/uielements/itransform.md), [ITransitionAnimations](/engine/6000.7/script-reference/unityengine/uielements/experimental/itransitionanimations.md), [IExperimentalFeatures](/engine/6000.7/script-reference/unityengine/uielements/iexperimentalfeatures.md), [IVisualElementScheduler](/engine/6000.7/script-reference/unityengine/uielements/ivisualelementscheduler.md), [ICustomStyle](/engine/6000.7/script-reference/unityengine/uielements/icustomstyle.md), [IBindable](/engine/6000.7/script-reference/unityengine/uielements/ibindable.md), [ISerializationCallbackReceiver](/engine/6000.7/script-reference/unityengine/iserializationcallbackreceiver.md)

```csharp
[UxmlElement(libraryPath = "Containers")]
[Icon("UIToolkit/Icons/ListView.png")]
public class ListView : BaseListView, IEventHandler, IResolvedStyle, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, ICustomStyle, IBindable, ISerializationCallbackReceiver
```

## Remarks

A [ListView](/engine/6000.7/script-reference/unityengine/uielements/listview.md) is a [ScrollView](/engine/6000.7/script-reference/unityengine/uielements/scrollview.md) with additional logic to display a list of vertically-arranged VisualElements. Each VisualElement in the list 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. For the ListView to function correctly, you must supply at least a value for [itemsSource](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemssource.md).

It's also recommended to supply the following properties for more complex items:

* [makeItem](/engine/6000.7/script-reference/unityengine/uielements/listview/makeitem.md)

* [bindItem](/engine/6000.7/script-reference/unityengine/uielements/listview/binditem.md)

* [unbindItem](/engine/6000.7/script-reference/unityengine/uielements/listview/unbinditem.md)

* [destroyItem](/engine/6000.7/script-reference/unityengine/uielements/listview/destroyitem.md)

* [fixedItemHeight](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/fixeditemheight.md) when using [CollectionVirtualizationMethod.FixedHeight](/engine/6000.7/script-reference/unityengine/uielements/collectionvirtualizationmethod/fixedheight.md)

The `ListView` creates multiple [VisualElement](/engine/6000.7/script-reference/unityengine/uielements/visualelement.md) objects for the visible items. As the user scrolls, the ListView recycles these objects and re-binds them to new data items.

To set the height of a single item in pixels, set the `item-height` property in UXML or the [\_itemHeight](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemheight.md) property in C# to the desired value.

To display a border around the scrollable area, set the `show-border` property in UXML or the [\_showBorder](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/showborder.md) property in C# to `true`.

By default, the user can select one element in the list at a time. To change the default selection use the `selection-type` property in UXML or the[\_selectionType](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selectiontype.md) property in C#. To allow the user to select more than one element simultaneously, set the property to `Selection.Multiple`. To prevent the user from selecting items, set the property to `Selection.None`.

By default, all rows in the ListView have same background color. To make the row background colors alternate, set the `show-alternating-row-backgrounds` property in UXML or the [\_showAlternatingRowBackgrounds](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/showalternatingrowbackgrounds.md) property in C# to [AlternatingRowBackground.ContentOnly](/engine/6000.7/script-reference/unityengine/uielements/alternatingrowbackground/contentonly.md) or [AlternatingRowBackground.All](/engine/6000.7/script-reference/unityengine/uielements/alternatingrowbackground/all.md). For details, see [AlternatingRowBackground](/engine/6000.7/script-reference/unityengine/uielements/alternatingrowbackground.md).

By default, the user can't reorder the list's elements. To allow the user to drag the elements to reorder them, set the `reorderable` property in UXML or the [\_reorderable](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/reorderable.md) property in C# to `true`.

To make the first item in the ListView display the number of items in the list, set the `show-bound-collection-size` property in UXML or the [\_showBoundCollectionSize](/engine/6000.7/script-reference/unityengine/uielements/baselistview/showboundcollectionsize.md) to true. This is useful for debugging. By default, the ListView's scroller element only scrolls vertically.

To enable horizontal scrolling when the displayed element is wider than the visible area, set the `horizontal-scrolling-enabled` property in UXML or the [\_horizontalScrollingEnabled](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/horizontalscrollingenabled.md) to `true`.

For more information, refer to [ListView](/engine/6000.7/manual/uitoolkits/uielements/uie-element-ref/uie-uxml-element-list-view.md).

For the difference between IDs and indices, refer to [BaseVerticalCollectionView](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview.md).

The following example creates an editor window with a list view of a thousand items.

## Examples

```csharp
using System;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;

public class ListViewExampleWindow : EditorWindow
{
    [MenuItem("Window/ListViewExampleWindow")]
    public static void OpenDemoManual()
    {
        GetWindow<ListViewExampleWindow>().Show();
    }

    public void OnEnable()
    {
        // Create a list of data. In this case, numbers from 1 to 1000.
        const int itemCount = 1000;
        var items = new List<string>(itemCount);
        for (int i = 0; i <= itemCount - 1; i++)
            items.Add(i.ToString());

        // The "makeItem" function is called when the
        // ListView needs more items to render.
        Func<VisualElement> makeItem = () => new Label();

        // As the user scrolls through the list, the ListView object
        // recycles elements created by the "makeItem" function,
        // and invoke the "bindItem" callback to associate
        // the element with the matching data item (specified as an index in the list).
        Action<VisualElement, int> bindItem = (e, i) => (e as Label).text = items[i];

        // Provide the list view with an explicit height for every row
        // so it can calculate how many items to actually display
        const int itemHeight = 16;

        var listView = new ListView(items, itemHeight, makeItem, bindItem)
        {
            // Enables multiple selection using shift or ctrl/cmd keys.
            selectionType = SelectionType.Multiple
        };

        // Set up list view so that you can add or remove items dynamically.
        listView.showAddRemoveFooter = true;

        // Implement functionality on the list view to add or remove items.
        // Note: The "onAdd" and "onRemove" callbacks are optional and you should only use them to override the default logic.
        listView.onAdd = view =>
        {
            var itemsSourceCount = view.itemsSource.Count;
            view.itemsSource.Add(itemsSourceCount.ToString());
            view.RefreshItems();
            view.ScrollToItem(itemsSourceCount);
        };
        listView.onRemove = view =>
        {
            var itemsSourceCount = view.itemsSource.Count;
            view.itemsSource.RemoveAt(itemsSourceCount - 1);
            view.RefreshItems();
            view.ScrollToItem(itemsSourceCount - 2);
        };

        // Single click triggers "selectionChanged" with the selected items. (f.k.a. "onSelectionChange")
        // Use "selectedIndicesChanged" to get the indices of the selected items instead. (f.k.a. "onSelectedIndicesChange")
        listView.selectionChanged += objects => Debug.Log($"Selected: {string.Join(", ", objects)}");

        // Double-click triggers "itemsChosen" with the selected items. (f.k.a. "onItemsChosen")
        listView.itemsChosen += objects => Debug.Log($"Double-clicked: {string.Join(", ", objects)}");

        listView.style.flexGrow = 1.0f;

        rootVisualElement.Add(listView);

        // Allow to add items, but only when there is no override, by using a Toggle.
        listView.allowAdd = true;
        var toggle = new Toggle("Override Add functionality")
        {
            value = listView.overridingAddButtonBehavior != null,
            style = {alignSelf = Align.Auto},
        };
        toggle.RegisterValueChangedCallback(evt => listView.overridingAddButtonBehavior = evt.newValue
            ? (view, button) =>
            {
                Debug.Log("You cannot add new items at this time");
            }
            : null
        );
        rootVisualElement.Add(toggle);
    }
}
```

## Constructors

| Constructor                                                                                                                                                                                                                                                                                                        | Description                                                                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ListView()](/engine/6000.7/script-reference/unityengine/uielements/listview/ctor.md#listview\(\))                                                                                                                                                                                                                 | Creates a [ListView](/engine/6000.7/script-reference/unityengine/uielements/listview.md) with all default properties. The [\_itemsSource](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemssource.md) must all be set for the ListView to function properly. |
| [ListView(System.Collections.IList,System.Single,System.Func\{UnityEngine.UIElements.VisualElement},System.Action\{UnityEngine.UIElements.VisualElement,System.Int32})](/engine/6000.7/script-reference/unityengine/uielements/listview/ctor.md#listview\(ilist-float-funcvisualelement-actionvisualelement-int\)) | Constructs a [ListView](/engine/6000.7/script-reference/unityengine/uielements/listview.md), with all important properties provided.                                                                                                                                                               |

## Properties

| Property                                                                                        | Description                                                                                                                                                                                                                                                       |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [bindItem](/engine/6000.7/script-reference/unityengine/uielements/listview/binditem.md)         | Callback for binding a data item to the visual element.                                                                                                                                                                                                           |
| [destroyItem](/engine/6000.7/script-reference/unityengine/uielements/listview/destroyitem.md)   | Callback invoked when a [VisualElement](/engine/6000.7/script-reference/unityengine/uielements/visualelement.md) created via [\_makeItem](/engine/6000.7/script-reference/unityengine/uielements/listview/makeitem.md) is no longer needed and will be destroyed. |
| [itemTemplate](/engine/6000.7/script-reference/unityengine/uielements/listview/itemtemplate.md) | A UXML template that constructs each recycled and rebound element within the list. This template is designed to replace the [\_makeItem](/engine/6000.7/script-reference/unityengine/uielements/listview/makeitem.md) definition.                                 |
| [makeItem](/engine/6000.7/script-reference/unityengine/uielements/listview/makeitem.md)         | Callback for constructing the VisualElement that is the template for each recycled and re-bound element in the list.                                                                                                                                              |
| [unbindItem](/engine/6000.7/script-reference/unityengine/uielements/listview/unbinditem.md)     | Callback for unbinding a data item from the VisualElement.                                                                                                                                                                                                        |

## Inheritance

**Inherited Members:**

* [BaseListView.ussClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/ussclassname.md)
* [BaseListView.itemUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/itemussclassname.md)
* [BaseListView.emptyLabelUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/emptylabelussclassname.md)
* [BaseListView.overMaxMultiEditLimitClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/overmaxmultieditlimitclassname.md)
* [BaseListView.reorderableUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/reorderableussclassname.md)
* [BaseListView.reorderableItemUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/reorderableitemussclassname.md)
* [BaseListView.reorderableItemContainerUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/reorderableitemcontainerussclassname.md)
* [BaseListView.reorderableItemHandleUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/reorderableitemhandleussclassname.md)
* [BaseListView.reorderableItemHandleBarUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/reorderableitemhandlebarussclassname.md)
* [BaseListView.footerUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/footerussclassname.md)
* [BaseListView.foldoutHeaderUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/foldoutheaderussclassname.md)
* [BaseListView.arraySizeFieldUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/arraysizefieldussclassname.md)
* [BaseListView.arraySizeFieldWithHeaderUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/arraysizefieldwithheaderussclassname.md)
* [BaseListView.arraySizeFieldWithFooterUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/arraysizefieldwithfooterussclassname.md)
* [BaseListView.listViewWithHeaderUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/listviewwithheaderussclassname.md)
* [BaseListView.listViewWithFooterUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/listviewwithfooterussclassname.md)
* [BaseListView.scrollViewWithFooterUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/scrollviewwithfooterussclassname.md)
* [BaseListView.footerAddButtonName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/footeraddbuttonname.md)
* [BaseListView.footerRemoveButtonName](/engine/6000.7/script-reference/unityengine/uielements/baselistview/footerremovebuttonname.md)
* [BaseListView.SetViewController(CollectionViewController)](/engine/6000.7/script-reference/unityengine/uielements/baselistview/setviewcontroller.md)
* [BaseListView.showFoldoutHeader](/engine/6000.7/script-reference/unityengine/uielements/baselistview/showfoldoutheader.md)
* [BaseListView.headerTitle](/engine/6000.7/script-reference/unityengine/uielements/baselistview/headertitle.md)
* [BaseListView.makeHeader](/engine/6000.7/script-reference/unityengine/uielements/baselistview/makeheader.md)
* [BaseListView.makeFooter](/engine/6000.7/script-reference/unityengine/uielements/baselistview/makefooter.md)
* [BaseListView.showAddRemoveFooter](/engine/6000.7/script-reference/unityengine/uielements/baselistview/showaddremovefooter.md)
* [BaseListView.allowAdd](/engine/6000.7/script-reference/unityengine/uielements/baselistview/allowadd.md)
* [BaseListView.allowRemove](/engine/6000.7/script-reference/unityengine/uielements/baselistview/allowremove.md)
* [BaseListView.reorderMode](/engine/6000.7/script-reference/unityengine/uielements/baselistview/reordermode.md)
* [BaseListView.showBoundCollectionSize](/engine/6000.7/script-reference/unityengine/uielements/baselistview/showboundcollectionsize.md)
* [BaseListView.bindingSourceSelectionMode](/engine/6000.7/script-reference/unityengine/uielements/baselistview/bindingsourceselectionmode.md)
* [BaseListView.viewController](/engine/6000.7/script-reference/unityengine/uielements/baselistview/viewcontroller.md)
* [BaseListView.makeNoneElement](/engine/6000.7/script-reference/unityengine/uielements/baselistview/makenoneelement.md)
* [BaseListView.overridingAddButtonBehavior](/engine/6000.7/script-reference/unityengine/uielements/baselistview/overridingaddbuttonbehavior.md)
* [BaseListView.onAdd](/engine/6000.7/script-reference/unityengine/uielements/baselistview/onadd.md)
* [BaseListView.onRemove](/engine/6000.7/script-reference/unityengine/uielements/baselistview/onremove.md)
* [BaseListView.itemsAdded](/engine/6000.7/script-reference/unityengine/uielements/baselistview/itemsadded.md)
* [BaseListView.itemsRemoved](/engine/6000.7/script-reference/unityengine/uielements/baselistview/itemsremoved.md)
* [BaseVerticalCollectionView.borderUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/borderussclassname.md)
* [BaseVerticalCollectionView.dragHoverBarUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/draghoverbarussclassname.md)
* [BaseVerticalCollectionView.dragHoverMarkerUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/draghovermarkerussclassname.md)
* [BaseVerticalCollectionView.itemDragHoverUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemdraghoverussclassname.md)
* [BaseVerticalCollectionView.itemSelectedVariantUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemselectedvariantussclassname.md)
* [BaseVerticalCollectionView.itemAlternativeBackgroundUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemalternativebackgroundussclassname.md)
* [BaseVerticalCollectionView.listScrollViewUssClassName](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/listscrollviewussclassname.md)
* [BaseVerticalCollectionView.GetRootElementForId(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/getrootelementforid.md)
* [BaseVerticalCollectionView.GetRootElementForIndex(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/getrootelementforindex.md)
* [BaseVerticalCollectionView.RefreshItem(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/refreshitem.md)
* [BaseVerticalCollectionView.RefreshItems()](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/refreshitems.md)
* [BaseVerticalCollectionView.Rebuild()](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/rebuild.md)
* [BaseVerticalCollectionView.ScrollTo(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/scrollto.md)
* [BaseVerticalCollectionView.ScrollToItem(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/scrolltoitem.md)
* [BaseVerticalCollectionView.ScrollToItemById(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/scrolltoitembyid.md)
* [BaseVerticalCollectionView.AddToSelection(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/addtoselection.md)
* [BaseVerticalCollectionView.RemoveFromSelection(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/removefromselection.md)
* [BaseVerticalCollectionView.SetSelection(int)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/setselection.md#setselection\(int\))
* [BaseVerticalCollectionView.SetSelection(IEnumerable\<int>)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/setselection.md#setselection\(ienumerableint\))
* [BaseVerticalCollectionView.SetSelectionWithoutNotify(IEnumerable\<int>)](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/setselectionwithoutnotify.md)
* [BaseVerticalCollectionView.ClearSelection()](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/clearselection.md)
* [BaseVerticalCollectionView.itemsSource](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemssource.md)
* [BaseVerticalCollectionView.contentContainer](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/contentcontainer.md)
* [BaseVerticalCollectionView.selectedItem](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selecteditem.md)
* [BaseVerticalCollectionView.selectedItems](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selecteditems.md)
* [BaseVerticalCollectionView.selectedIndex](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selectedindex.md)
* [BaseVerticalCollectionView.selectedIndices](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selectedindices.md)
* [BaseVerticalCollectionView.selectedIds](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selectedids.md)
* [BaseVerticalCollectionView.fixedItemHeight](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/fixeditemheight.md)
* [BaseVerticalCollectionView.virtualizationMethod](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/virtualizationmethod.md)
* [BaseVerticalCollectionView.showBorder](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/showborder.md)
* [BaseVerticalCollectionView.selectionType](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selectiontype.md)
* [BaseVerticalCollectionView.showAlternatingRowBackgrounds](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/showalternatingrowbackgrounds.md)
* [BaseVerticalCollectionView.reorderable](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/reorderable.md)
* [BaseVerticalCollectionView.horizontalScrollingEnabled](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/horizontalscrollingenabled.md)
* [BaseVerticalCollectionView.itemsChosen](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemschosen.md)
* [BaseVerticalCollectionView.selectionChanged](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selectionchanged.md)
* [BaseVerticalCollectionView.selectedIndicesChanged](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/selectedindiceschanged.md)
* [BaseVerticalCollectionView.itemIndexChanged](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemindexchanged.md)
* [BaseVerticalCollectionView.itemsSourceChanged](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/itemssourcechanged.md)
* [BaseVerticalCollectionView.canStartDrag](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/canstartdrag.md)
* [BaseVerticalCollectionView.setupDragAndDrop](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/setupdraganddrop.md)
* [BaseVerticalCollectionView.dragAndDropUpdate](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/draganddropupdate.md)
* [BaseVerticalCollectionView.handleDrop](/engine/6000.7/script-reference/unityengine/uielements/baseverticalcollectionview/handledrop.md)
* [BindableElement.binding](/engine/6000.7/script-reference/unityengine/uielements/bindableelement/binding.md)
* [BindableElement.bindingPath](/engine/6000.7/script-reference/unityengine/uielements/bindableelement/bindingpath.md)
* [VisualElement.disabledUssClassName](/engine/6000.7/script-reference/unityengine/uielements/visualelement/disabledussclassname.md)
* [VisualElement.MarkDirtyStyles()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/markdirtystyles.md)
* [VisualElement.NotifyComponentChanged(BindingId)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/notifycomponentchanged.md)
* [VisualElement.MarkComponentDirty\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/markcomponentdirty.md)
* [VisualElement.AddComponent\<T>(T)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addcomponent.md)
* [VisualElement.GetOrAddComponent\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getoraddcomponent.md)
* [VisualElement.GetComponent\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getcomponent.md)
* [VisualElement.GetComponentRefOrNullRef\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getcomponentrefornullref.md)
* [VisualElement.HasComponent\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hascomponent.md)
* [VisualElement.RemoveComponent\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/removecomponent.md)
* [VisualElement.TryRemoveComponent\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/tryremovecomponent.md)
* [VisualElement.SetActivePseudoState(bool)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/setactivepseudostate.md)
* [VisualElement.SetCheckedPseudoState(bool)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/setcheckedpseudostate.md)
* [VisualElement.ReleaseResources()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/releaseresources.md)
* [VisualElement.SendEvent(EventBase)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/sendevent.md)
* [VisualElement.SetEnabled(bool)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/setenabled.md)
* [VisualElement.MarkDirtyRepaint()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/markdirtyrepaint.md)
* [VisualElement.IsMarkedForRepaint()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/ismarkedforrepaint.md)
* [VisualElement.ContainsPoint(Vector2)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/containspoint.md)
* [VisualElement.GetClasses()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getclasses.md)
* [VisualElement.GetClassNames()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getclassnames.md)
* [VisualElement.ClearClassList()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/clearclasslist.md)
* [VisualElement.AddToClassList(string)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addtoclasslist.md#addtoclasslist\(string\))
* [VisualElement.AddToClassList(UniqueStyleString)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addtoclasslist.md#addtoclasslist\(uniquestylestring\))
* [VisualElement.AddToClassList(string, string)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addtoclasslist.md#addtoclasslist\(string-string\))
* [VisualElement.AddToClassList(UniqueStyleString, UniqueStyleString)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addtoclasslist.md#addtoclasslist\(uniquestylestring-uniquestylestring\))
* [VisualElement.AddToClassList(string\[\])](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addtoclasslist.md#addtoclasslist\(string\))
* [VisualElement.AddToClassList(UniqueStyleString\[\])](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addtoclasslist.md#addtoclasslist\(uniquestylestring\))
* [VisualElement.AddToClassList(ReadOnlySpan\<UniqueStyleString>)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addtoclasslist.md#addtoclasslist\(readonlyspanuniquestylestring\))
* [VisualElement.RemoveFromClassList(string)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/removefromclasslist.md#removefromclasslist\(string\))
* [VisualElement.RemoveFromClassList(UniqueStyleString)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/removefromclasslist.md#removefromclasslist\(uniquestylestring\))
* [VisualElement.ToggleInClassList(string)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/toggleinclasslist.md#toggleinclasslist\(string\))
* [VisualElement.ToggleInClassList(UniqueStyleString)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/toggleinclasslist.md#toggleinclasslist\(uniquestylestring\))
* [VisualElement.EnableInClassList(string, bool)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/enableinclasslist.md#enableinclasslist\(string-bool\))
* [VisualElement.EnableInClassList(UniqueStyleString, bool)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/enableinclasslist.md#enableinclasslist\(uniquestylestring-bool\))
* [VisualElement.ClassListContains(string)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/classlistcontains.md#classlistcontains\(string\))
* [VisualElement.ClassListContains(UniqueStyleString)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/classlistcontains.md#classlistcontains\(uniquestylestring\))
* [VisualElement.FindAncestorUserData()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/findancestoruserdata.md)
* [VisualElement.SetBinding(BindingId, Binding)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/setbinding.md)
* [VisualElement.GetBinding(BindingId)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getbinding.md)
* [VisualElement.TryGetBinding(BindingId, Binding)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/trygetbinding.md)
* [VisualElement.GetBindingInfos()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getbindinginfos.md#getbindinginfos\(\))
* [VisualElement.GetBindingInfos(List\<BindingInfo>)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getbindinginfos.md#getbindinginfos\(listbindinginfo\))
* [VisualElement.HasBinding(BindingId)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hasbinding.md)
* [VisualElement.ClearBinding(BindingId)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/clearbinding.md)
* [VisualElement.ClearBindings()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/clearbindings.md)
* [VisualElement.GetHierarchicalDataSourceContext()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/gethierarchicaldatasourcecontext.md)
* [VisualElement.GetDataSourceContext(BindingId)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getdatasourcecontext.md)
* [VisualElement.TryGetDataSourceContext(BindingId, DataSourceContext)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/trygetdatasourcecontext.md)
* [VisualElement.TryGetLastBindingToUIResult(BindingId, BindingResult)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/trygetlastbindingtouiresult.md)
* [VisualElement.TryGetLastBindingToSourceResult(BindingId, BindingResult)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/trygetlastbindingtosourceresult.md)
* [VisualElement.Add(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/add.md)
* [VisualElement.Insert(int, VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/insert.md)
* [VisualElement.Remove(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/remove.md)
* [VisualElement.RemoveAt(int)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/removeat.md)
* [VisualElement.Clear()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/clear.md#clear\(\))
* [VisualElement.Clear(VisualElementClearOptions)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/clear.md#clear\(visualelementclearoptions\))
* [VisualElement.ElementAt(int)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/elementat.md)
* [VisualElement.IndexOf(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/indexof.md)
* [VisualElement.Children()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/children.md)
* [VisualElement.Sort(Comparison\<VisualElement>)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/sort.md)
* [VisualElement.BringToFront()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/bringtofront.md)
* [VisualElement.SendToBack()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/sendtoback.md)
* [VisualElement.PlaceBehind(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/placebehind.md)
* [VisualElement.PlaceInFront(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/placeinfront.md)
* [VisualElement.RemoveFromHierarchy()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/removefromhierarchy.md)
* [VisualElement.GetFirstOfType\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getfirstoftype.md)
* [VisualElement.GetFirstAncestorOfType\<T>()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/getfirstancestoroftype.md)
* [VisualElement.Contains(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/contains.md)
* [VisualElement.FindCommonAncestor(VisualElement)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/findcommonancestor.md)
* [VisualElement.AddMeshModifier(MeshModificationCallback, bool, int)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/addmeshmodifier.md)
* [VisualElement.ClearMeshModifiers()](/engine/6000.7/script-reference/unityengine/uielements/visualelement/clearmeshmodifiers.md)
* [VisualElement.RemoveMeshModifier(MeshModificationCallback)](/engine/6000.7/script-reference/unityengine/uielements/visualelement/removemeshmodifier.md)
* [VisualElement.userData](/engine/6000.7/script-reference/unityengine/uielements/visualelement/userdata.md)
* [VisualElement.disablePlayModeTint](/engine/6000.7/script-reference/unityengine/uielements/visualelement/disableplaymodetint.md)
* [VisualElement.scaledPixelsPerPoint](/engine/6000.7/script-reference/unityengine/uielements/visualelement/scaledpixelsperpoint.md)
* [VisualElement.layout](/engine/6000.7/script-reference/unityengine/uielements/visualelement/layout.md)
* [VisualElement.contentRect](/engine/6000.7/script-reference/unityengine/uielements/visualelement/contentrect.md)
* [VisualElement.paddingRect](/engine/6000.7/script-reference/unityengine/uielements/visualelement/paddingrect.md)
* [VisualElement.worldBound](/engine/6000.7/script-reference/unityengine/uielements/visualelement/worldbound.md)
* [VisualElement.localBound](/engine/6000.7/script-reference/unityengine/uielements/visualelement/localbound.md)
* [VisualElement.worldTransform](/engine/6000.7/script-reference/unityengine/uielements/visualelement/worldtransform.md)
* [VisualElement.hasActivePseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hasactivepseudostate.md)
* [VisualElement.hasInactivePseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hasinactivepseudostate.md)
* [VisualElement.hasHoverPseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hashoverpseudostate.md)
* [VisualElement.hasCheckedPseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hascheckedpseudostate.md)
* [VisualElement.hasEnabledPseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hasenabledpseudostate.md)
* [VisualElement.hasDisabledPseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hasdisabledpseudostate.md)
* [VisualElement.hasFocusPseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hasfocuspseudostate.md)
* [VisualElement.hasRootPseudoState](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hasrootpseudostate.md)
* [VisualElement.name](/engine/6000.7/script-reference/unityengine/uielements/visualelement/name.md)
* [VisualElement.enabledSelf](/engine/6000.7/script-reference/unityengine/uielements/visualelement/enabledself.md)
* [VisualElement.viewDataKey](/engine/6000.7/script-reference/unityengine/uielements/visualelement/viewdatakey.md)
* [VisualElement.pickingMode](/engine/6000.7/script-reference/unityengine/uielements/visualelement/pickingmode.md)
* [VisualElement.tooltip](/engine/6000.7/script-reference/unityengine/uielements/visualelement/tooltip.md)
* [VisualElement.usageHints](/engine/6000.7/script-reference/unityengine/uielements/visualelement/usagehints.md)
* [VisualElement.languageDirection](/engine/6000.7/script-reference/unityengine/uielements/visualelement/languagedirection.md)
* [VisualElement.dataSourceType](/engine/6000.7/script-reference/unityengine/uielements/visualelement/datasourcetype.md)
* [VisualElement.resourcesReleased](/engine/6000.7/script-reference/unityengine/uielements/visualelement/resourcesreleased.md)
* [VisualElement.enabledInHierarchy](/engine/6000.7/script-reference/unityengine/uielements/visualelement/enabledinhierarchy.md)
* [VisualElement.visible](/engine/6000.7/script-reference/unityengine/uielements/visualelement/visible.md)
* [VisualElement.generateVisualContent](/engine/6000.7/script-reference/unityengine/uielements/visualelement/generatevisualcontent.md)
* [VisualElement.dataSource](/engine/6000.7/script-reference/unityengine/uielements/visualelement/datasource.md)
* [VisualElement.dataSourcePath](/engine/6000.7/script-reference/unityengine/uielements/visualelement/datasourcepath.md)
* [VisualElement.experimental](/engine/6000.7/script-reference/unityengine/uielements/visualelement/experimental.md)
* [VisualElement.hierarchy](/engine/6000.7/script-reference/unityengine/uielements/visualelement/hierarchy-1.md)
* [VisualElement.parent](/engine/6000.7/script-reference/unityengine/uielements/visualelement/parent.md)
* [VisualElement.panel](/engine/6000.7/script-reference/unityengine/uielements/visualelement/panel.md)
* [VisualElement.visualTreeAssetSource](/engine/6000.7/script-reference/unityengine/uielements/visualelement/visualtreeassetsource.md)
* [VisualElement.this\[int\]](/engine/6000.7/script-reference/unityengine/uielements/visualelement/item.md)
* [VisualElement.childCount](/engine/6000.7/script-reference/unityengine/uielements/visualelement/childcount.md)
* [VisualElement.schedule](/engine/6000.7/script-reference/unityengine/uielements/visualelement/schedule.md)
* [VisualElement.style](/engine/6000.7/script-reference/unityengine/uielements/visualelement/style.md)
* [VisualElement.resolvedStyle](/engine/6000.7/script-reference/unityengine/uielements/visualelement/resolvedstyle.md)
* [VisualElement.customStyle](/engine/6000.7/script-reference/unityengine/uielements/visualelement/customstyle.md)
* [VisualElement.styleSheets](/engine/6000.7/script-reference/unityengine/uielements/visualelement/stylesheets.md)
* [Focusable.Blur()](/engine/6000.7/script-reference/unityengine/uielements/focusable/blur.md)
* [Focusable.focusable](/engine/6000.7/script-reference/unityengine/uielements/focusable/focusable.md)
* [Focusable.tabIndex](/engine/6000.7/script-reference/unityengine/uielements/focusable/tabindex.md)
* [Focusable.delegatesFocus](/engine/6000.7/script-reference/unityengine/uielements/focusable/delegatesfocus.md)
* [CallbackEventHandler.RegisterCallback\<T>(EventCallback\<T>, TrickleDown)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)
* [CallbackEventHandler.RegisterCallbackOnce\<T>(EventCallback\<T>, TrickleDown)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallbackonce.md)
* [CallbackEventHandler.RegisterCallback\<T, U>(EventCallback\<T, T>, T, TrickleDown)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)
* [CallbackEventHandler.RegisterCallbackOnce\<T, U>(EventCallback\<T, T>, T, TrickleDown)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallbackonce.md)
* [CallbackEventHandler.RegisterCallback\<T>(EventCallback\<T>, CallbackOptions)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)
* [CallbackEventHandler.RegisterCallback\<T, U>(EventCallback\<T, T>, T, CallbackOptions)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)
* [CallbackEventHandler.UnregisterCallback\<T>(EventCallback\<T>, TrickleDown)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/unregistercallback.md)
* [CallbackEventHandler.UnregisterCallback\<T, U>(EventCallback\<T, T>, TrickleDown)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/unregistercallback.md)
* [CallbackEventHandler.UnregisterCallback\<T>(EventCallback\<T>, CallbackOptions)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/unregistercallback.md)
* [CallbackEventHandler.UnregisterCallback\<T, U>(EventCallback\<T, T>, CallbackOptions)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/unregistercallback.md)
* [CallbackEventHandler.UnregisterAllRemovableCallbacks()](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/unregisterallremovablecallbacks.md)
* [CallbackEventHandler.HasTrickleDownHandlers()](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/hastrickledownhandlers.md)
* [CallbackEventHandler.HasBubbleUpHandlers()](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/hasbubbleuphandlers.md)
* [CallbackEventHandler.HandleEventTrickleDown(EventBase)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/handleeventtrickledown.md)
* [CallbackEventHandler.NotifyPropertyChanged(BindingId)](/engine/6000.7/script-reference/unityengine/uielements/callbackeventhandler/notifypropertychanged.md)
