Version: 6000.3
语言: 中文
创建默认检查器
支持运行时 UI

查看数据持久性

视图数据持久性保留与视觉元素实例化或派生自 C# 的可视化树的节点VisualElement类。您可以设置外观样式、定义行为并将其作为 UI 的一部分显示在屏幕上。更多信息
请参阅术语表
在界面中。视图数据是指不属于界面基础数据模型的用户界面的状态。例如,视图数据可以包括滚动条的滚动位置或列表的选择。

视图数据持久性解决了UI视图数据在编辑器中的某些事件期间不持久化的问题:

  • 域重新加载,例如进入播放模式或更改脚本时
  • 窗口关闭或重新打开,例如在更改编辑器布局时
  • 编辑器重启

注意:视图数据持久性仅适用于编辑器界面。

要为支持视图数据的元素启用视图数据持久性,请将视图数据键设置为编辑器窗口中的唯一字符串(EditorWindow类型)。您可以在 UI Builder、UXML 或 C# 中进行设置:

  • 在 UI Builder 中,将键设置为元素的 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    面板。
  • 在 UXML 中,使用view-data-key属性。
  • 在 C# 中,使用viewDataKey财产。

以下元素当前支持视图数据持久性:

  • ScrollView一种UI 控件,它在可视区域中显示大量控件,您可以使用滚动条查看这些控件。更多信息
    请参阅术语表

  • 列表视图

  • 插页

  • 树视图

  • 多列列表视图

  • 多列树视图

  • 选项卡视图启用视图数据持久性时,这些元素会记住其内部视图状态:

  • 对于 ScrollView,它会记住滚动位置。

  • 对于 ListView,它会记住所选内容。

  • 对于折叠,它会记住展开状态。

  • 对于 TreeView,它会记住选择。

  • 对于 MultiColumnTreeView 和 MultiColumnListView,它会记住选择和列的顺序、排序和宽度。

  • 对于 TabView,它会记住所选选项卡。

要为只读元素启用视图数据持久性,请在父元素上设置视图数据键。

例如,ScrollView 具有多个只读 Scroller 子元素。每个 Scroller 都有一个在 ScrollView 元素中唯一的视图数据键。如果为 Foldout 设置视图数据键,则 Foldout 的视图数据将保留。尽管 Scrollers 具有键,但不会保留其视图数据。必须为其父 ScrollView 设置视图数据键才能启用持久性。Scrollers 会将其视图数据键与父级的视图数据键组合在一起,以创建唯一的全局视图数据键。

注意:目前,添加对视图数据持久性的支持所需的 API 是内部的,这意味着您无法为自定义控件启用视图数据持久性。

其他资源

创建默认检查器
支持运行时 UI