API ViewData решает проблему наличия состояния, специфичного для пользовательского интерфейса, а не
данные, пережить перезагрузку домена и перезапуск редактора. Идея состоит в том, чтобы иметь
постоянное хранилище данных в каждом EditorWindow
. Каждый VisualElement
имеет
viewDataKey
, который должен быть установлен для включения сохраняемости ViewData
.
Использование
Чтобы включить сохранение данных представления для элемента, который их поддерживает, задайте для viewDataKey
уникальный ключ в вашем EditorWindow
.
Сохранение данных представления включено, если элемент имеет действительный viewDataKey
. Единственным исключением является случай, когда элемент находится в теневом дереве своего родителя, а не является физическим дочерним элементом contentContainer
своего логического родителя. В этом случае родительский элемент должен иметь собственный набор viewDataKey
для сохранения дочерних элементов в его теневом дереве.
Например, в ScrollView
каждая полоса прокрутки имеет собственный viewDataKey
, уникальный в пределах ScrollView
элемент. Если для ScrollView
не задан ключ,
полосы прокрутки не являются постоянными. В противном случае полосы прокрутки объединят свой viewDataKey
с родительским viewDataKey
для создания уникального глобального ключа.