マウスでうまく動作するDataBound(HierachicTemplates経由)WPF TreeViewがありますが、キーボードでそれを駆動できるようにします。私はContextMenu項目が 'ジェスチャー'を介して実行できるようにCommandBindingsを追加しました。 CTRL + Deleteのように現在選択されている項目を削除したいのですが、コンテキストメニューを表示するための 'Properties'キーと、ユーザーがカーソルキーを使用してナビゲートできるようにすることです。キーボードを使用してデータバインドされたWPFツリービューのコンテキストメニューを表示
私はCommandBindingを作成してデバッグしましたが、RoutedUIEventにはContextMenuがあります。私はXmal Resourcesからそれを作成しようとしましたが、うまくいきましたが、すべてが無効になっているので、明らかに正しくありません。
キーボードでナビゲートできるWPF ContextMenuを作成するにはどうすればよいですか?
これがTreeViewだと試してみましたが、ツリー内のノードでContextMenuを持たないTextBlock要素でイベントが発生しました。これは何か高いもの(視覚的な木?)に縛られているようです。 contextMenuはTreeViewリソースです。 TextBlockにコンテキストメニューを配置しようとしましたが、それは役に立たないようです。 – Robert
ここでの問題は、contextMenuをどのように設定するかという私の意見です。イベントがtextBlockで発生した場合は、このContextMenuプロパティが設定されているツリービューで、このテキストブロックの最も近い親を検索し、contextMenuをこのコントロールに設定してからイベントが発生したら、あなたのTextBlockからvisualTreeを取得し、この親コントロールを取得し、私が示唆したように "ContextMenu.IsOpen = true"を実行します。私はこれを行う簡単な方法はありません。 – David