多くのキーボードにある [戻る] ボタンと [進む] ボタンのサポートを WPF アプリに追加することを計画していましたが、それらを機能させるのに苦労しています。
BrowserBack と BrowserForward に標準の KeyBinding を使用してみましたが、うまくいきません。ESC キーを使用してコードをテストし、それが原則として機能していることを確認しました。そのキーは問題ありませんでした。
次に KeyUp イベントを処理しましたが、送信されるキーは "System" であり、役に立たず、KeyInterop.VirtualKeyFromKey を使用すると 0 が返されます。
PInvoke/実際のウィンドウ メッセージをトラップすることが唯一の選択肢になると考え始めていますが、誰かが明るいアイデアを持っている場合は避けたいと思いますか?
ああ、キー自体は間違いなく機能し、私のキーボードは接続されています ;-)
更新: SystemKey を使用することをお勧めします。
new KeyBinding(TestCommand, new KeyGesture(Key.Left, ModifierKeys.Alt));
そして、それはキーボードボタンでは機能するようですが、対応するタッチ「フリック」(前後をシミュレートします) では機能しません。これらのフリックはブラウザーで正常に動作しますが、私の KeyUp イベントによると、送信しているのは "LeftAlt" だけで、他にはあまりありません!
** 再度更新 ** : Rich のコメントにより、次のようになりました。
this.CommandBindings.Add(new CommandBinding(NavigationCommands.BrowseBack, BrowseBack_Executed));
this.CommandBindings.Add(new CommandBinding(NavigationCommands.BrowseForward, BrowseForward_Executed));
これはごちそうに見える..フリックも!