ビューモデル内でキーバインディングによってイベントが発生するようにしようとしています。私はしばらくの間探していましたが、残念ながらこれまでに機能した解決策に出くわすことはありません。
これは私が基本的に実装しようとしているものです:
<i:Interaction.Triggers>
<i:EventTrigger EventName="createNew">
<cal:ActionMessage MethodName="newCustomer" />
</i:EventTrigger>
</i:Interaction.Triggers>
ユーザーがビューモデル内にnewCustomerイベントを実装できるようにする「ホットキー」を提供する方法が必要です。これまでのところ、ビューモデルには到達していません。EventName = "KeyDown"をアタッチすると、いずれかのキーが押されてもうまく機能しますが、単一のキーをターゲットにしようとしています。
ビューモデルの背後にあるコードは次のようになっていることを追加します。
public void createNew(object sender, KeyEventArgs e)
{ if (e.Key == Key.F9)
{
addCustomer();
} }