Tengo una aplicación donde tengo un UserControl
con una barra de herramientas en ella. Esta barra de herramientas tiene un botón Execute
que a su vez tiene su comando vinculado a una clase derivada de ICommand
que el modelo de vista expone como una propiedad.Enlazar un atajo de teclado a un comando en el modelo de vista en WPF
<Button Grid.Row="0" Command="{Binding ExecuteCommand}">Execute</Button>
Ahora, me gustaría unirse a un atajo de teclado (F5
) también. Esto debe estar vinculado en el contexto del UserControl
ya que solo es aplicable si este control de usuario está visible en este momento.
Otra opción es vincularlo al KeyDown
del cuadro de texto que contiene realmente el texto para ejecutar, pero estoy muy débil cuando se trata de cómo enrutar el evento desde el control al comando en el modelo de vista sin realmente feos hacks en el código subyacente del usercontrol.
¡Todos los indicadores son apreciados!
posible duplicado de [Atajos de teclado en WPF] (http://stackoverflow.com/questions/1361350/keyboard-shortcuts-in-wpf) –
Está en la misma línea, pero no es realmente el la misma pregunta. Habla de cómo vincular comandos estándar, mientras que esto vincula un comando personalizado a una propiedad en los modelos de vista. La solución resultó ser similar pero aún así, cosas diferentes. – Dervall
@DanielHilgarth: sí, no creo que sea un duplicado, o al menos la solución proporcionada en la otra pregunta es pobre (es la solución de WinForms a un problema de MVVM). – user7116