Unity 6.3
0 онлайн 8 гостей 3 в системе
Вход

TreeView

класс в UnityEngine.UIElements

Наследуется от:UIElements.BaseTreeView

Выполнено в:UnityEngine.UIElementsModule

Описание

TreeView — это вертикально прокручиваемая область, которая связывает и отображает список элементов, организованных в дерево.

TreeView — это ScrollView с дополнительной логикой для отображения дерева вертикально расположенных VisualElements. Каждый VisualElement в дереве связан с соответствующим элементом в списке источника данных. Список источника данных может содержать элементы любого типа.

Логика, требуемая для создания VisualElements и для привязки или развязки их с источником данных, зависит от предполагаемого результата. Вы должны реализовать логику, подходящую для вашего случая использования. Для того, чтобы TreeView работал правильно, вы должны предоставить по крайней мере следующее:

- BaseVerticalCollectionView.fixedItemHeight

Также рекомендуется предоставить следующее для более сложных элементов:

TreeView создает VisualElements для видимых элементов и поддерживает привязку многих других. По мере прокрутки пользователя, TreeView перерабатывает VisualElements и повторно привязывает их к новым элементам данных.

Дополнительную информацию см. в UXML элементе TreeView.

Для разницы между IDs и индексами см. в BaseVerticalCollectionView.

Свойства

Свойство Описание
bindItemОбратный вызов для привязки элемента данных к визуальному элементу.
destroyItemОбратный вызов вызван, когда VisualElement созданный через makeItem больше не нужен и будет уничтожен.
itemTemplateШаблон UXML, который конструирует каждый переработанный и отброшенный элемент в дереве. Этот шаблон предназначен для замены определения makeItem.
makeItemОбратный вызов для построения VisualElement, который является шаблоном для каждого рециркулированного и ре-связанного элемента в списке.
unbindItemОбратный вызов для развязки элемента данных от VisualElement.
viewControllerКонтроллер представления для этого представления, представленный как TreeViewController.

Конструкторы

Конструктор Описание
TreeViewСоздает TreeView со всеми свойствами по умолчанию.
Унаследованные члены 5

Статические свойства

СвойствоОписание
itemContentContainerUssClassName Имя USS-класса для элементов-контейнеров списка TreeView.
itemIndentUssClassName Имя USS-класса для элемента отступа TreeView.
itemToggleUssClassName Имя USS-класса для элементов-переключателей списка TreeView.
itemUssClassName Имя USS-класса для элементов списка TreeView.
ussClassName Имя USS-класса для элементов TreeView.
borderUssClassName Имя USS-класса для элементов BaseVerticalCollectionView с рамкой.
dragHoverBarUssClassName Имя USS-класса для полосы наведения при перетаскивании.
dragHoverMarkerUssClassName Имя USS-класса для круглого маркера наведения при перетаскивании, обозначающего глубину.
itemAlternativeBackgroundUssClassName Имя USS-класса для нечётных строк в BaseVerticalCollectionView.
itemDragHoverUssClassName Имя USS-класса, применяемое к элементу списка при наведении перетаскиваемого объекта.
itemSelectedVariantUssClassName Имя USS-класса для выбранных элементов списка в BaseVerticalCollectionView.
listScrollViewUssClassName Имя USS-класса для области прокрутки в BaseVerticalCollectionView.
disabledUssClassName Имя USS-класса для локально отключённых элементов.

Свойства

СвойствоОписание
autoExpandЕсли true, элементы автоматически разворачиваются при добавлении в TreeView.
itemsSourceДоступ к itemsSource. Для TreeView, источник содержит упаковки элементов.
viewControllerКонтроллер представления для этого представления, представленный как BaseTreeViewController.
contentContainerВозвращает контейнер содержимого для BaseVerticalCollectionView. Поскольку BaseVerticalCollectionView автоматически управляет своим содержимым, это всегда возвращает null.
fixedItemHeightВысота одного элемента в списке в пикселях.
horizontalScrollingEnabledЭто свойство определяет, показывает ли представление коллекции горизонтальную панель прокрутки, когда ее содержимое не вписывается в видимую область.
reorderableПолучает или устанавливает значение, указывающее, может ли пользователь перетаскивать элементы списка для изменения их порядка.
selectedIdsВозвращает постоянный IDs выбранных элементов в источнике данных, независимо от того, свернуты они или нет. Всегда возвращает перечисляемое, даже если не выбран ни один элемент или выбран один элемент.
selectedIndexВозвращает или устанавливает индекс выбранного элемента в источнике данных. Если выделено несколько элементов, возвращается индекс первого выбранного элемента. Если выделено несколько элементов, все они устанавливаются как выбранные. Если не выделено ни одного элемента, возвращается -1.
selectedIndicesВозвращает индексы выбранных элементов в источнике данных. Всегда возвращает перечисляемое значение, даже если не выбран ни один элемент или выбран один элемент.
selectedItemВозвращает выбранный элемент из источника данных. Если выбрано несколько элементов, возвращается первый выбранный элемент.
selectedItemsВозвращает выбранные элементы из источника данных. Всегда возвращает перечисляемое значение, даже если не выбран ни один элемент или выбран один элемент.
selectionTypeУправляет типом выбора.
showAlternatingRowBackgrounds Это свойство определяет, чередуются ли цвета фона строк представления коллекции. Принимает значение из перечисления AlternatingRowBackground.
showBorderВключите это свойство для отображения границы вокруг представления коллекции.
virtualizationMethod Метод виртуализации, используемый для этой коллекции, когда видна полоса прокрутки. Принимает значение из перечисления CollectionVirtualizationMethod.
bindingОбъект привязки, который будет обновлен.
bindingPathПуть к целевому свойству для привязки.
canGrabFocusМожно ли фокусировать элемент.
delegatesFocusДелегирует ли элемент фокус своим дочерним элементам.
focusableМожет ли элемент потенциально получать фокус.
focusControllerВозвращает контроллер фокуса для этого элемента.
tabIndexЦелое число, используемое для сортировки фокусируемых элементов в кольце фокуса. Должно быть больше или равно нулю.
childCountКоличество дочерних элементов в contentContainer этого объекта.
contentRectПрямоугольник области содержимого элемента в локальном пространстве элемента. (Только для чтения)
customStyleНастраиваемый аксессор свойств стиля VisualElement (только для чтения).
dataSourceНазначает источник данных этому VisualElement, который переопределяет любой унаследованный источник данных. Этот источник данных наследуется всеми дочерними объектами.
dataSourcePathПуть от источника данных к значению.
dataSourceTypeВозможный тип источника данных, присваиваемый этому VisualElement. Эта информация используется UI Builder только как подсказка, чтобы дать некоторое заполнение в поле пути источника данных, когда эффективный источник данных не может быть указан во время проектирования.
disablePlayModeTintОттенки режима воспроизведения применяются по умолчанию, если это не установлено в true. Они применяются иерархически к этому VisualElement и ко всем его дочерним объектам, которые существуют на панели редактора.
enabledInHierarchyВозвращает true, если VisualElement включен в собственной иерархии.
enabledSelfВозвращает true, если VisualElement включен локально.
experimentalВозвращает экспериментальные интерфейсы UIElements.
generateVisualContentФункция делегирования для генерации визуального содержания визуального элемента.
hasActivePseudoState Возвращает true, если этот элемент соответствует псевдоклассу :active.
hasCheckedPseudoState Возвращает true, если этот элемент соответствует псевдоклассу :checked.
hasDisabledPseudoState Возвращает true, если этот элемент соответствует псевдоклассу :disabled.
hasEnabledPseudoState Возвращает true, если этот элемент соответствует псевдоклассу :enabled.
hasFocusPseudoState Возвращает true, если этот элемент соответствует псевдоклассу :focus.
hasHoverPseudoState Возвращает true, если этот элемент соответствует псевдоклассу :hover.
hasInactivePseudoState Возвращает true, если этот элемент соответствует псевдоклассу :inactive.
hasRootPseudoState Возвращает true, если этот элемент соответствует псевдоклассу :root.
hierarchyДоступ к физической иерархии этого элемента
languageDirectionУказывает направленность текста элемента. Значение будет распространяться на дочерей элемента.
layoutПоложение и размер VisualElement относительно его родительского объекта, как вычислено системой макета. (Только для чтения)
localBoundВозвращает Rect, представляющий выравниваемый по оси Bounding Box (AABB) после применения преобразования, но до применения преобразования макета.
nameИмя этого VisualElement.
paddingRectПрямоугольник зоны заполнения элемента, в локальном пространстве элемента.
panelПанель, к которой прикреплен этот VisualElement.
parentРодители этого VisualElement.
pickingModeОпределяет, может ли этот элемент быть целью событий указателя или выбран запросами IPanel.Pick.
resolvedStyleОкончательные отображенные значения стиля визуального элемента, как он отображается в текущем кадре.(Только для чтения)
scaledPixelsPerPointВозвращает результат масштабирования панели, который учитывает экран DPI и настраиваемый фактор масштабирования, но не масштаб трансформации элемента и его предшественников. См. Panel.scaledPixelsPerPoint. Этот метод должен вызываться только для элементов, которые являются частью панели.
scheduleПолучает IVisualElementScheduler, связанный с этим VisualElement. Используйте его для очереди действий.
styleУстанавливает значения стиля на VisualElement.
styleSheetsВозвращает VisualElementStyleSheetSet, который манипулирует таблицами стилей, прикрепленными к этому элементу.
это[int]Получает дочерний элемент в определенном индексе.
tooltipТекст, который будет отображаться внутри информационного поля после того, как пользователь задержится над элементом небольшое время. Это поддерживается только в Редакторе UI.
usageHintsСочетание значений подсказки, которые указывают схемы предполагаемого использования высокого уровня для VisualElement. Это свойство может быть установлено только тогда, когда VisualElement если это свойство еще не является частью панели. Как только это свойство становится частью панели, оно становится доступным только для чтения, и попытки изменить его вызывают исключение. UsageHints Подсказки позволяют системе принимать лучшие решения о том, как обрабатывать или ускорять определенные операции на основе предполагаемой схемы использования. Обратите внимание, что эти подсказки не влияют на поведение или визуальные результаты, а только влияют на общую производительность панели и элементов внутри нее. Рекомендуется всегда учитывать указание надлежащего UsageHints, но помните, что некоторые UsageHints могут быть внутренне проигнорированы при определенных условиях (e.g. из-за аппаратных ограничений на целевой платформе).
userDataЭто свойство может использоваться для связывания данных пользователя, специфичных для приложения, с этим VisualElement.
viewDataKeyИспользуется для сохранения данных представления, таких как развернутые состояния дерева, положение прокрутки или уровень масштаба.
visibleУказывает, должен ли этот элемент отображаться или нет.
visualTreeAssetSourceХранит ссылку на ассет, если генерируемый элемент клонирован из VisualTreeAsset.
worldBoundВозвращает выравниваемую по оси границу элемента в координатах панели после кумулятивного преобразования из корня IPanel.
worldTransformВозвращает матрицу, которая накапливает следующие преобразования (в порядке): Local scalingLocal rotationLocal translationLayout translationParent worldTransform (рекурсивное определение — рассматривается матрица идентичности, когда нет родителя)

Открытые методы

МетодОписание
AddItemДобавление элемента в существующее дерево.
AddToSelectionByIdДобавляет элемент к текущему выбору по идентификатору.
CollapseAllСжимает все элементы TreeView, включая дочерние.
CollapseItemСжимает указанный элемент TreeView.
ExpandAllРазворачивает все элементы TreeView, включая дочерние.
ExpandItemРазворачивает указанный элемент TreeView.
ExpandRootItemsРазворачивает все корневые элементы TreeView.
GetChildrenIdsForIndexПолучает дочерние идентификаторы для указанного элемента TreeView.
GetIdForIndexПолучает идентификатор указанного элемента TreeView.
GetItemDataForIdПолучает данные для указанного идентификатора TreeView.
GetItemDataForIndexПолучает данные для указанного индекса элемента TreeView.
GetParentIdForIndexПолучает идентификатор родителя указанного элемента TreeView.
GetRootIdsПолучает идентификаторы корневых элементов.
GetSelectedItemsПолучает данные дерева для выбранных индексов элементов.
GetTreeCountПолучает общее количество элементов в TreeView.
IsExpandedВозвращает true, если указанный элемент TreeView развернут, false в противном случае.
RemoveFromSelectionByIdУдаляет элемент из текущего выбора по id.
SetRootItemsЗадает корневые элементы для использования с контроллером дерева представления по умолчанию.
SetSelectionByIdУстанавливает текущий выбранный элемент по id.
SetSelectionByIdWithoutNotifyУстанавливает коллекцию выбранных элементов по id, не запуская обратный вызов изменения выбора.
SetViewControllerНазначает контроллер представления для данного представления и регистрирует все события, необходимые для его правильной работы.
TryRemoveItemУдаляет элемент из дерева, если он может быть найден.
AddToSelectionДобавление элемента в коллекцию выбранных элементов.
ClearSelectionСнятие выбора всех выбранных элементов.
GetRootElementForIdПолучает корневой элемент указанного элемента представления коллекции.
GetRootElementForIndexПолучает корневой элемент указанного элемента представления коллекции.
RebuildОчистка представления коллекции, восстановление всех видимых визуальных элементов и повторное привязывание всех элементов.
RefreshItemПерепривязывает один элемент, если он в настоящее время видим в представлении коллекции.
RefreshItemsПовторная связь всех видимых элементов.
RemoveFromSelectionУдаление элемента из коллекции выбранных элементов.
ScrollToПрокрутка до конкретного VisualElement.
ScrollToItemПрокрутка до определенного индекса элемента и его отображение.
ScrollToItemByIdПрокрутка до определенного идентификатора элемента и его отображение.
SetSelectionУстанавливает текущий выбранный элемент.
SetSelectionWithoutNotifyЗадает коллекцию выбранных элементов без запуска обратного вызова изменения выбора.
HasBubbleUpHandlersВозвращает true, если к этому объекту были прикреплены обработчики событий для фазы распространения событий BubbleUp.
HasTrickleDownHandlersВозвращает true, если к этому объекту прикреплены обработчики событий для фазы распространения событий TrickleDown.
RegisterCallbackДобавление обработчика событий к экземпляру.
RegisterCallbackOnceДобавление обработчика событий к экземпляру. Обработчик событий автоматически отменяет регистрацию после того, как он был вызван ровно один раз.
UnregisterAllRemovableCallbacksУдаляет из экземпляра все обратные вызова, зарегистрированные с CallbackOptions.Removable.
UnregisterCallbackУдалить обратный вызов из экземпляра.
BlurСообщает элементу, чтобы он освободил фокус.
FocusПопытки сосредоточить внимание на этом элементе.
AddДобавление элемента в contentContainer этого элемента.
AddToClassList Добавляет класс в список классов элемента, чтобы назначить стили из USS. Учтите, что имя класса чувствительно к регистру.
BringToFrontПереносит этот элемент в конец родительского дочернего списка. Элемент будет визуально находиться перед любыми перекрывающимися элементами-родственниками.
ChildrenВозвращает элементы из contentContainer.
ClassListContains Ищет класс в списке классов этого элемента.
ClearУдалить все дочерние элементы из contentContainer этого элемента
ClearBindingУдаляет привязку из элемента.
ClearBindingsУдаляет все привязки из элемента.
ClearClassList Удаляет все классы из списка классов этого элемента. AddToClassList
ContainsПроверяет, является ли данный элемент предком указанного дочернего элемента.
ContainsPointПроверяет, пересекается ли указанная точка с этим расположением VisualElement.
ElementAtПолучает дочерний элемент в определенном индексе.
EnableInClassList Включает или отключает класс с заданным именем.
FindAncestorUserDataПоиск в иерархии этого VisualElement и получение хранящегося userData, если таковой найден.
FindCommonAncestorНаходит наименьшего общего предка между двумя VisualElements внутри иерархии VisualTree.
GetBindingПолучает экземпляр привязки для указанного целевого свойства.
GetBindingInfosПолучает информацию обо всех привязках текущего элемента.
GetClassesПолучить классы для этого элемента.
GetDataSourceContextЗапросы dataSource и dataSourcePath объекта привязки.
GetFirstAncestorOfTypeПроходит вверх по иерархии, начиная с родителя этого элемента, и возвращает первый VisualElement этого типа
GetFirstOfTypeПроходит вверх по иерархии, начиная с этого элемента, и возвращает первый VisualElement этого типа
GetHierarchicalDataSourceContextЗапросы dataSource и dataSourcePath унаследованы от иерархии.
HasBindingПозволяет узнать, связана ли с целевым свойством привязка.
IndexOfПолучает дочерний индекс указанного VisualElement.
InsertВставить элемент в contentContainer этого элемента
IsMarkedForRepaintПроверяет, не загрязнен ли VisualElement для перекраски.
MarkDirtyRepaintПомечает, что VisualElement требует перекраски.
PlaceBehindПомещает этот элемент прямо перед элементом-родственником в их родительском дочернем списке. Если позиция элемента и элемента-родственника перекрываются, элемент будет визуально находиться позади своего родственника.
PlaceInFrontПомещает этот элемент сразу после элемента-сестры в их родительском дочернем списке. Если элемент и позиция элемента-сестры перекрываются, элемент будет визуально находиться перед элементом-сестры.
RemoveУдаляет этот дочерний объект из иерархии его contentContainer.
RemoveAtУдаляет дочерний элемент с указанным индексом из списка дочерних элементов текущего элемента.
RemoveFromClassList Удаляет класс из списка классов элемента.
RemoveFromHierarchyУдаляет этот элемент из родительской иерархии.
SendEventОтправляет событие в обработчик событий.
SendToBackОтправляет этот элемент в начало родительского дочернего списка. Элемент будет визуально находиться за любыми перекрывающимися родственными элементами.
SetActivePseudoStateЗадает, будет ли этот элемент отображаться как активный.
SetBindingНазначает привязку между конечным объектом и источником.
SetCheckedPseudoStateЗадает, будет ли этот элемент отображаться как отмеченный.
SetEnabledМеняет состояние VisualElement. Отключённый визуальный элемент не получает большинство событий.
SortПереупорядочивает дочерние элементы из VisualElement в contentContainer.
ToggleInClassList Переключает между добавлением и удалением заданного имени класса в списке классов.
TryGetBindingПолучает экземпляр привязки для указанного целевого свойства.
TryGetDataSourceContextЗапросы dataSource и dataSourcePath объекта привязки.
TryGetLastBindingToSourceResultВозвращает последний BindingResult объекта привязки из UI в источник данных.
TryGetLastBindingToUIResultВозвращает последний BindingResult объекта привязки из источника данных к UI.

Защищенные методы

МетодОписание
CreateViewControllerСоздает контроллер представления для данного представления. Переопределите этот метод в наследниках, чтобы изменить тип контроллера.
HandleEventBubbleUpВыполняет логику на этом элементе во время фазы BubbleUp, непосредственно перед обратными вызовами BubbleUp этого элемента. Вызов StopPropagation предотвратит дальнейшие вызовы этого метода вдоль пути распространения.
HandleEventTrickleDownВыполняет логику на этом элементе во время фазы TrickleDown, сразу после обратных вызовов TrickleDown этого элемента. Вызов StopPropagation предотвратит дальнейшие вызовы этого метода вдоль пути распространения.
NotifyPropertyChangedСообщает системе привязки данных о том, что изменилось свойство контроля.

Мероприятия

МероприятиеОписание
itemExpandedChangedПоднимается при развертывании или свертывании элемента.
canStartDragВызывается, когда операция перетаскивания хочет начать работу в этом представлении коллекции.
dragAndDropUpdateВызывается при обновлении операции перетаскивания в этом представлении коллекции.
handleDropВызывается при освобождении операции перетаскивания в этом представлении коллекции.
itemIndexChangedВызывается при перемещении элемента в itemsSource.
itemsChosenОбратный вызов запускается, когда пользователь выполняет действие на выборе одного или нескольких элементов, например, двойным щелчком или нажатием клавиши Enter.
itemsSourceChangedВозникает, когда источнику данных представления вертикальной коллекции назначается новая ссылка или новый тип.
onItemsChosenУстаревший. Используйте BaseVerticalCollectionView.itemsChosen вместо него.
onSelectedIndicesChangeУстаревший. Используйте BaseVerticalCollectionView.selectedIndicesChanged вместо него.
onSelectionChangeУстаревший. Используйте BaseVerticalCollectionView.selectionChanged вместо него.
selectedIndicesChangedОбратный вызов запускается при изменении выбора.
selectionChangedОбратный вызов запускается при изменении выбора.
setupDragAndDropВызывается при начале операции перетаскивания в этом представлении коллекции.