我在我的應用程序中使用了RelayCommand。將代碼放入視圖模型非常棒,但是如何將按鍵綁定到我的命令?鍵入一個繼電器命令
RoutedUICommand有它的InputGestures屬性,當我按下按鍵時,該命令會自動調用該命令。 (作爲額外的好處,它甚至可以在MenuItem中進行按鍵顯示。)不幸的是,RoutedUICommand的額外屬性沒有可重用的接口,所以我無法制作一個具有相同魔法的RelayUICommand。
我用化InputBindings已經嘗試過:
<Window.InputBindings>
<KeyBinding Key="PageUp" Command="{Binding SelectPreviousLayerCommand}"/>
</Window.InputBindings>
但是,這讓我一個運行時異常,因爲KeyBinding.Command不是一個依賴項屬性。 (實際上,它所抱怨的是KeyBinding甚至不是一個DependencyObject。)因爲我的RelayCommand是ViewModel的一個屬性(與RoutedUICommand的靜態字段相對),數據綁定是我知道的唯一方法從XAML引用它。
你們是怎麼解決這個問題的?將按鍵綁定到RelayCommand的最佳方式是什麼?
在http://tomlev2.wordpress.com/2009/10/26/vs2010-binding-support-in-inputbindings/ – 2010-04-20 14:34:48