ビューデータの永続化とは、UI のビジュアル要素に関連付けられたビューデータを保持することです。ビューデータとは、UI の基礎となるデータモデルの一部ではないユーザーインターフェースの状態を指します。例えば、スクロールバーのスクロール位置やリストの選択内容などです。
ビューデータの永続化は、エディターの特定のイベント中に UI のビューデータが永続化されない問題に対処します。
ノート: ビューデータの永続化は、エディター UI でのみ機能します。
ビューデータの永続化をサポートする要素にこれを有効化するには、エディターウィンドウでビューデータキーを一意の文字列 (EditorWindow 型) に設定します。UI Builder、UXML、または C# で設定できます。
view-data-key 属性を使用してキーを設定します。viewDataKey プロパティを使用してキーを設定します。現在、以下の要素がビューデータの永続化をサポートしています。
TabView ビューデータの永続化を有効にすると、これらの要素は内部的なビューの状態を記憶します。
ScrollView の場合、スクロール位置を記憶します。
ListView の場合、選択内容を記憶します。
Foldout の場合、展開状態を記憶します。
TreeView の場合、選択内容を記憶します。
MultiColumnTreeView と MultiColumnListView の場合、選択内容と列の順序、ソート、幅を記憶します。
TabView の場合、選択したタブを記憶します。
読み取り専用の要素 にビューデータの永続化を有効にするには、親要素にビューデータキーを設定します。
例えば、ScrollView には読み取り専用の Scroller 子要素がいくつかあります。各 Scroller には、ScrollView 要素内で一意のビューデータキーが与えられています。Foldout にビューデータキーを設定した場合、Foldout はビューデータを永続化します。Scroller にはキーがありますが、ビューデータは永続化されません。永続化を有効にするには、親の ScrollView にビューデータキーを設定する必要があります。Scroller はそれぞれのビューデータキーを親のビューデータキーと組み合わせて、一意のグローバルビューデータキーを作成します。
ノート: 現在、ビューデータの永続化のサポートを追加するのに必要な API は内部にあるため、カスタムコントロール にビューデータの永続化を有効にすることはできません。