私はUserControl
のツールバーを持つアプリケーションを持っています。このツールバーにはExecute
というボタンがあり、そのコマンドはビューモデルがプロパティとして公開するICommand
派生クラスにバインドされています。WPFのビューモデルのコマンドにキーボードショートカットをバインドします
<Button Grid.Row="0" Command="{Binding ExecuteCommand}">Execute</Button>
今、私は同様にキーボードショートカット(F5
)にこれをバインドしたいと思います。これはUserControl
のコンテキストでバインドする必要があります。このユーザーコントロールが現時点で表示されている場合にのみ適用されるためです。
もう1つの方法は、実際にテキストを実行するテキストボックスのKeyDown
にバインドすることですが、実際にはコントロールからイベントをビューモデルのコマンドにルーティングする方法が本当に不安ですユーザーコントロールのコードビハインドで醜いハック。
すべてのポインタが高く評価されています!
[WPFのキーボードショートカット](http://stackoverflow.com/questions/1361350/keyboard-shortcuts-in-wpf) –
それは同じ行にありますが、実際にはそうではありません同じ質問。これは、標準コマンドをバインドする方法について述べています。これは、カスタムコマンドをビューモデルのプロパティにバインドします。解決策は類似していることが判明しましたが、依然として、異なるものです。 – Dervall
@DanielHilgarth:ええ、私はそれが重複しているとは思っていません。あるいは、少なくとももう一つの質問で提供されている解決策は貧弱です(MVVMの問題に対するWinFormsの解決策です)。 – user7116