docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ListViewItem

    A versatile list item component that displays content with a title, subtitle, thumbnail, and optional actions.

    Inheritance
    object
    CallbackEventHandler
    Focusable
    VisualElement
    BaseVisualElement
    ListViewItem
    Implements
    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder
    Inherited Members
    BaseVisualElement.contextPrefix
    BaseVisualElement.scaleOverride
    BaseVisualElement.themeOverride
    BaseVisualElement.langOverride
    BaseVisualElement.layoutDirectionOverride
    BaseVisualElement.preferredTooltipPlacementOverride
    BaseVisualElement.tooltipDelayMsOverride
    BaseVisualElement.GetLayoutDirectionUssClassName(Dir)
    VisualElement.disabledUssClassName
    VisualElement.SetActivePseudoState(bool)
    VisualElement.SetCheckedPseudoState(bool)
    VisualElement.Focus()
    VisualElement.SendEvent(EventBase)
    VisualElement.SetEnabledFromHierarchy(bool)
    VisualElement.SetEnabled(bool)
    VisualElement.MarkDirtyRepaint()
    VisualElement.IsMarkedForRepaint()
    VisualElement.ContainsPoint(Vector2)
    VisualElement.Overlaps(Rect)
    VisualElement.DoMeasure(float, VisualElement.MeasureMode, float, VisualElement.MeasureMode)
    VisualElement.ToString()
    VisualElement.GetClasses()
    VisualElement.ClearClassList()
    VisualElement.AddToClassList(string)
    VisualElement.RemoveFromClassList(string)
    VisualElement.ToggleInClassList(string)
    VisualElement.EnableInClassList(string, bool)
    VisualElement.ClassListContains(string)
    VisualElement.FindAncestorUserData()
    VisualElement.SetBinding(BindingId, Binding)
    VisualElement.GetBinding(BindingId)
    VisualElement.TryGetBinding(BindingId, out Binding)
    VisualElement.GetBindingInfos()
    VisualElement.GetBindingInfos(List<BindingInfo>)
    VisualElement.HasBinding(BindingId)
    VisualElement.ClearBinding(BindingId)
    VisualElement.ClearBindings()
    VisualElement.GetHierarchicalDataSourceContext()
    VisualElement.GetDataSourceContext(BindingId)
    VisualElement.TryGetDataSourceContext(BindingId, out DataSourceContext)
    VisualElement.TryGetLastBindingToUIResult(in BindingId, out BindingResult)
    VisualElement.TryGetLastBindingToSourceResult(in BindingId, out BindingResult)
    VisualElement.Add(VisualElement)
    VisualElement.Insert(int, VisualElement)
    VisualElement.Remove(VisualElement)
    VisualElement.RemoveAt(int)
    VisualElement.Clear()
    VisualElement.ElementAt(int)
    VisualElement.IndexOf(VisualElement)
    VisualElement.Children()
    VisualElement.Sort(Comparison<VisualElement>)
    VisualElement.BringToFront()
    VisualElement.SendToBack()
    VisualElement.PlaceBehind(VisualElement)
    VisualElement.PlaceInFront(VisualElement)
    VisualElement.RemoveFromHierarchy()
    VisualElement.GetFirstOfType<T>()
    VisualElement.GetFirstAncestorOfType<T>()
    VisualElement.Contains(VisualElement)
    VisualElement.FindCommonAncestor(VisualElement)
    VisualElement.viewDataKey
    VisualElement.userData
    VisualElement.canGrabFocus
    VisualElement.focusController
    VisualElement.disablePlayModeTint
    VisualElement.usageHints
    VisualElement.transform
    VisualElement.scaledPixelsPerPoint
    VisualElement.layout
    VisualElement.contentRect
    VisualElement.paddingRect
    VisualElement.worldBound
    VisualElement.localBound
    VisualElement.worldTransform
    VisualElement.hasActivePseudoState
    VisualElement.hasInactivePseudoState
    VisualElement.hasHoverPseudoState
    VisualElement.hasCheckedPseudoState
    VisualElement.hasEnabledPseudoState
    VisualElement.hasDisabledPseudoState
    VisualElement.hasFocusPseudoState
    VisualElement.hasRootPseudoState
    VisualElement.pickingMode
    VisualElement.name
    VisualElement.enabledInHierarchy
    VisualElement.enabledSelf
    VisualElement.languageDirection
    VisualElement.visible
    VisualElement.generateVisualContent
    VisualElement.dataSource
    VisualElement.dataSourcePath
    VisualElement.dataSourceType
    VisualElement.experimental
    VisualElement.hierarchy
    VisualElement.cacheAsBitmap
    VisualElement.parent
    VisualElement.panel
    VisualElement.visualTreeAssetSource
    VisualElement.this[int]
    VisualElement.childCount
    VisualElement.schedule
    VisualElement.style
    VisualElement.resolvedStyle
    VisualElement.customStyle
    VisualElement.styleSheets
    VisualElement.tooltip
    Focusable.Blur()
    Focusable.focusable
    Focusable.tabIndex
    Focusable.delegatesFocus
    CallbackEventHandler.RegisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.RegisterCallbackOnce<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, TrickleDown)
    CallbackEventHandler.RegisterCallbackOnce<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, TrickleDown)
    CallbackEventHandler.RegisterCallback<TEventType>(EventCallback<TEventType>, CallbackOptions)
    CallbackEventHandler.RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, CallbackOptions)
    CallbackEventHandler.UnregisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType>(EventCallback<TEventType>, CallbackOptions)
    CallbackEventHandler.UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, CallbackOptions)
    CallbackEventHandler.UnregisterAllRemovableCallbacks()
    CallbackEventHandler.HasTrickleDownHandlers()
    CallbackEventHandler.HasBubbleUpHandlers()
    CallbackEventHandler.ExecuteDefaultActionAtTarget(EventBase)
    CallbackEventHandler.HandleEventBubbleUp(EventBase)
    CallbackEventHandler.HandleEventTrickleDown(EventBase)
    CallbackEventHandler.ExecuteDefaultAction(EventBase)
    CallbackEventHandler.NotifyPropertyChanged(in BindingId)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.AppUI.UI
    Assembly: Unity.AppUI.dll
    Syntax
    public class ListViewItem : BaseVisualElement, IEventHandler, IResolvedStyle, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, IContextOverrideElement, IAdditionalDataHolder
    Remarks

    ListViewItem is a flexible component designed to display content in a list format. It provides a consistent layout structure with support for leading (left) and trailing (right) content areas, making it perfect for displaying items in lists, menus, or selection interfaces.

    The component supports various content elements including:

    • A thumbnail image
    • A primary title
    • A secondary subtitle
    • Leading and trailing containers for custom content
    • A built-in options button

    Note: ListViewItem comes with different size variants and loading states to accommodate various use cases and provide better user feedback during data loading.

    Examples

    Basic usage with title and subtitle — Creating a standard list item with title and subtitle.

    var item = new ListViewItem
    {
        title = "Project Assets",
        subtitle = "Contains 42 files",
        size = Size.M
    };

    Advanced usage with custom content and loading state — Creating a rich list item with custom content, loading state, and event handling.

    var item = new ListViewItem();
    

    // Add custom badge to trailing container var badge = new Badge ; item.trailingContainer.Add(badge);

    // Configure item properties item.title = "Documentation"; item.subtitle = "Last updated: Today"; item.thumbnail = documentIcon;

    // Handle options button click item.optionsButton.clicked += () => ShowOptionsMenu();

    // Show loading state item.isLoading = true; await LoadDataAsync(); item.isLoading = false;

    Using ListViewItem in a UXML template — Declaring a ListViewItem in UXML.

    <UXML xmlns:ui="Unity.AppUI.UI">
        <ui:ListViewItem
            title="Settings"
            subtitle="Configure application preferences"
            size="L"
        />
    </UXML>

    Constructors

    ListViewItem()

    Default constructor.

    Declaration
    public ListViewItem()

    Fields

    containerUssClassName

    The ListViewItem's container USS class name.

    Declaration
    public const string containerUssClassName = "appui-listview-item__container"
    Field Value
    Type Description
    string

    leadingContainerUssClassName

    The ListViewItem's leading container USS class name.

    Declaration
    public const string leadingContainerUssClassName = "appui-listview-item__leading-container"
    Field Value
    Type Description
    string

    loadingUssClassName

    The ListViewItem's loading USS class name.

    Declaration
    public const string loadingUssClassName = "appui-listview-item--loading"
    Field Value
    Type Description
    string

    optionsButtonUssClassName

    The ListViewItem's options button USS class name.

    Declaration
    public const string optionsButtonUssClassName = "appui-listview-item__options-button"
    Field Value
    Type Description
    string

    sizeUssClassName

    The ListViewItem's size USS class name.

    Declaration
    public const string sizeUssClassName = "appui-listview-item--size-"
    Field Value
    Type Description
    string

    subtitleUssClassName

    The ListViewItem's subtitle USS class name.

    Declaration
    public const string subtitleUssClassName = "appui-listview-item__subtitle"
    Field Value
    Type Description
    string

    thumbnailUssClassName

    The ListViewItem's thumbnail USS class name.

    Declaration
    public const string thumbnailUssClassName = "appui-listview-item__thumbnail"
    Field Value
    Type Description
    string

    titleUssClassName

    The ListViewItem's title USS class name.

    Declaration
    public const string titleUssClassName = "appui-listview-item__title"
    Field Value
    Type Description
    string

    trailingContainerUssClassName

    The ListViewItem's trailing container USS class name.

    Declaration
    public const string trailingContainerUssClassName = "appui-listview-item__trailing-container"
    Field Value
    Type Description
    string

    ussClassName

    The ListViewItem's USS class name.

    Declaration
    public const string ussClassName = "appui-listview-item"
    Field Value
    Type Description
    string

    Properties

    contentContainer

    Content container.

    Declaration
    public override VisualElement contentContainer { get; }
    Property Value
    Type Description
    VisualElement
    Overrides
    VisualElement.contentContainer

    isLoading

    The ListViewItem's loading state.

    Declaration
    public bool isLoading { get; set; }
    Property Value
    Type Description
    bool

    leadingContainer

    The ListViewItem's leading container.

    Declaration
    public VisualElement leadingContainer { get; }
    Property Value
    Type Description
    VisualElement

    optionsButton

    The ListViewItem's options button.

    Declaration
    public IconButton optionsButton { get; }
    Property Value
    Type Description
    IconButton

    size

    The ListViewItem's size.

    Declaration
    public Size size { get; set; }
    Property Value
    Type Description
    Size

    subtitle

    The ListViewItem's subtitle.

    Declaration
    public string subtitle { get; set; }
    Property Value
    Type Description
    string

    thumbnail

    The ListViewItem's thumbnail.

    Declaration
    public Texture thumbnail { get; set; }
    Property Value
    Type Description
    Texture

    title

    The ListViewItem's title.

    Declaration
    public string title { get; set; }
    Property Value
    Type Description
    string

    trailingContainer

    The ListViewItem's trailing container.

    Declaration
    public VisualElement trailingContainer { get; }
    Property Value
    Type Description
    VisualElement

    Methods

    GetSizeUssClassName(Size)

    Declaration
    public static string GetSizeUssClassName(Size enumValue)
    Parameters
    Type Name Description
    Size enumValue
    Returns
    Type Description
    string

    Implements

    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder

    Extension Methods

    VisualElementExtensions.FindNavController(VisualElement)
    RegisterUpdateCallbackExtensions.RegisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    RegisterUpdateCallbackExtensions.UnregisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    VisualElementExtensions.EnableDynamicTransform(VisualElement, bool)
    VisualElementExtensions.EnablePicking(VisualElement, bool)
    VisualElementExtensions.GetChildren<T>(VisualElement, bool)
    VisualElementExtensions.GetContextProvider<T>(VisualElement)
    VisualElementExtensions.GetContextProvider<T>(VisualElement, string)
    VisualElementExtensions.GetContext<T>(VisualElement)
    VisualElementExtensions.GetContext<T>(VisualElement, string)
    VisualElementExtensions.GetExclusiveRootElement(VisualElement)
    VisualElementExtensions.GetLastAncestorOfType<T>(VisualElement)
    VisualElementExtensions.GetPreferredTooltipPlacement(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement, string)
    VisualElementExtensions.GetTooltipContent(VisualElement)
    VisualElementExtensions.GetTooltipTemplate(VisualElement)
    VisualElementExtensions.HasAncestorOfType<T>(VisualElement, bool)
    VisualElementExtensions.HasAncestorsOfType<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement, string)
    VisualElementExtensions.IsInvisible(VisualElement)
    VisualElementExtensions.IsOnScreen(VisualElement)
    VisualElementExtensions.ProvideContext<T>(VisualElement, string, T)
    VisualElementExtensions.ProvideContext<T>(VisualElement, T)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.SetPreferredTooltipPlacement(VisualElement, OptionalEnum<PopoverPlacement>)
    VisualElementExtensions.SetTooltipContent(VisualElement, VisualElementExtensions.TooltipContentCallback)
    VisualElementExtensions.SetTooltipTemplate(VisualElement, VisualElement)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)