Tengo una aplicación WPF que usa el patrón MVVM. Conectar los botones a la VM es bastante directo ya que implementan ICommand. Tengo un menú contextual que funciona de manera similar. El siguiente paso es crear teclas de método abreviado para el menú contextual. No puedo entender cómo hacer que la tecla de acceso directo invoque el comando. Aquí está un ejemplo:Enlazar una clave abreviada de WPF a un comando en el modelo de vista
<MenuItem Header="Update" Command="{Binding btnUpdate}" >
<MenuItem.Icon>
<Image Source="/Images/Update.png"
Width="16"
Height="16" />
</MenuItem.Icon>
</MenuItem>
ahora hemos añadido esto:
<Window.InputBindings>
<KeyBinding Key="U"
Modifiers="Control"
Command="{Binding btnUpdate}" />
</Window.InputBindings>
tratar de conectarse las teclas de acceso directo a la misma ligadura, pero esto no funciona. El error es:
Error 169 Un 'Enlace' no se puede establecer en la propiedad 'Comando' del tipo 'Enlace de clave'. Un 'Enlace' solo se puede establecer en una DependencyProperty de un DependencyObject.
¿No hay una forma de conectar este evento al Comando? No puedo resolver esto.
gracias de antemano!
Bill
Debo mencionar que estoy usando RelayCommand de Josh Smith también. –