5.20241.9
5.20241.9

ツリービュー:アーキテクチャー

TreeViewは、多くの作業をブラウザのDOMに任せているため、そのアーキテクチャは極めて単純です。

コントロールは完全なデータ連結です。itemsSourceプロパティはノードを表すデータ項目の配列を定義し、childItemsPathプロパティで定義される子要素が含まれる場合もあります。displayMemberPathプロパティは、ツリーノードに表示されるテキストを含む、項目内のプロパティの名前を定義します。

連結プロパティの1つが変更されると、itemsSource配列がスキャンされ、ノードを表すDOM要素が作成されて、DOMが生成されます。

仮想化は行われません。ユーザーがコントロールをスクロールしたり、ノードの折りたたみ/展開を行っても、DOM要素の数は一定のままです。TreeViewでは遅延ロードがサポートされており、特定のノードが展開されたときにデータをロードできるため、これは大きな制限になりません。

TreeViewには、itemsSource配列内の、現在選択されているデータ項目を取得または設定するselectedItemプロパティがあります。現在の項目をラップしているツリーノードを取得または設定するselectedNodeプロパティもあります。selectedNodeプロパティを使用して、選択項目の折りたたみ、展開、または移動を行うことができます。特定のデータ項目を表すノードへの参照を取得するには、getNodeメソッドを使用します。

ツリーを変更するには、itemsSource配列を変更し、loadTreeメソッドを呼び出してノードを再生成します。

さらに、TreeViewコントロールでは、次のキーボードコマンドがサポートされています。

キーの組み合わせ アクション
上/下矢印キー 前または次の可視ノードを選択します
左矢印キー 選択したノードに子ノードがある場合は折りたたみ、それ以外の場合は親ノードを選択します
右矢印キー 選択したノードに子ノードがある場合は展開します
Home/Endキー 最初または最後の可視ノードを選択します
スペースキー 現在のノードのチェックボックスを切り替えます(showCheckboxesプロパティを参照)
他の文字キー 入力したテキストを含むノードを検索します(複数文字の自動検索)