1

さて、私はこれを解決したと思った。TreeViewItem のテンプレートを変更して、特定のノードが展開されているかどうかを無視するようにしました。素晴らしく見える!しかし、それだけです...それは素晴らしいです!キーボード ナビゲーションは、ノードが展開または折りたたまれているかのように応答します。

たとえば、ルート ノードで右矢印を押した場合 (何も移動せず、移動する必要もありません)、下に移動すると、ルートの最初の子に移動します。ただし、ルート ノードで左に押して (再び何も動かない)、次に下に押すと、最初のノードのすべての子を飛び越えて、2 番目のルート ノードにジャンプします。

言うまでもなく、それは私たちが望んでいる動作ではありません。単純に左右の矢印キーを飲み込むか、ツリービューを完全に放棄して、ネストされたアイテム プレゼンターに移動することができます (これは、とにかく TreeView が行うことのようなものです)。この機能のためだけに制御します。考え?

4

1 に答える 1

0

TreeViewItem テンプレートで IsExpanded を true に設定すると、子要素がある場合はすべての項目を展開する必要があります。

残念ながら、表示されているナビゲーションは設計によるものであるため、必要なキーボード ナビゲーションを取得するには、これらのキーストロークを飲み込む必要がある場合があります。

TreeView から継承されたカスタム ツリービューを作成し、それらのボタン イベントをそこに配置して、再利用できるようにすることができます。

于 2012-01-09T18:50:04.747 に答える