包含此页的版本:
不含此页的版本:
视图数据持久性保留与视觉元素实例化或派生自 C# 的可视化树的节点VisualElement类。您可以设置外观样式、定义行为并将其作为 UI 的一部分显示在屏幕上。更多信息
请参阅术语表在界面中。视图数据是指不属于界面基础数据模型的用户界面的状态。例如,视图数据可以包括滚动条的滚动位置或列表的选择。
视图数据持久性解决了UI视图数据在编辑器中的某些事件期间不持久化的问题:
注意:视图数据持久性仅适用于编辑器界面。
要为支持视图数据的元素启用视图数据持久性,请将视图数据键设置为编辑器窗口中的唯一字符串(EditorWindow类型)。您可以在 UI Builder、UXML 或 C# 中进行设置:
view-data-key属性。viewDataKey财产。以下元素当前支持视图数据持久性:
ScrollView一种UI 控件,它在可视区域中显示大量控件,您可以使用滚动条查看这些控件。更多信息
请参阅术语表
选项卡视图启用视图数据持久性时,这些元素会记住其内部视图状态:
对于 ScrollView,它会记住滚动位置。
对于 ListView,它会记住所选内容。
对于折叠,它会记住展开状态。
对于 TreeView,它会记住选择。
对于 MultiColumnTreeView 和 MultiColumnListView,它会记住选择和列的顺序、排序和宽度。
对于 TabView,它会记住所选选项卡。
要为只读元素启用视图数据持久性,请在父元素上设置视图数据键。
例如,ScrollView 具有多个只读 Scroller 子元素。每个 Scroller 都有一个在 ScrollView 元素中唯一的视图数据键。如果为 Foldout 设置视图数据键,则 Foldout 的视图数据将保留。尽管 Scrollers 具有键,但不会保留其视图数据。必须为其父 ScrollView 设置视图数据键才能启用持久性。Scrollers 会将其视图数据键与父级的视图数据键组合在一起,以创建唯一的全局视图数据键。
注意:目前,添加对视图数据持久性的支持所需的 API 是内部的,这意味着您无法为自定义控件启用视图数据持久性。