WPF XButton1ClickとCommandをBindingする
XButtonって?
「XButton1」といってもいまいちピンときませんが、マウスの「戻る」ボタンといえば伝わりますでしょうか。ちなみにマウスの「進む」ボタンは「XButton2」というそうです。
XButton1押したら画面遷移「戻る」が走ってほしい
先ほどFrameを見た目をカスタマイズして、ちょっとモチベーションが上がったので、「んじゃ「XButton1」押したら画面遷移戻せるようにしようか」と思ったら意外と標準でできない…
ちなみに標準でできるのは「左、右、中央」ボタンの操作のみのよう(MouseAction 列挙体 (System.Windows.Input))で、書き方はこんな感じ。
<Window.InputBindings> <MouseBinding Gesture="LeftClick" Command="{Binding ElementName=MainFrame, Path=GoBackCommand}" /> </Window.InputBindings>
ウインドウ内で左クリックすると画面遷移「戻る」が発生するというトンデモなコードです…
MouseBindingを拡張するしかないっぽい
調べてみたところ、こちらのサイトが参考になりましたっていうかモロそれ。
MouseBinding Gesture for XButton1?
こちらによると、MouseBindingを拡張したら、こんな感じにかけるよとのこと。
<local:ExtendMouseBinding Gesture="XButton1Click" Command="{Binding ElementName=MainFrame, Path=GoBackCommand}" />
リンク先にMouseBindingを拡張するコード(C#)が全部載っていますので、ぜひご参考ください。