2011-07-28 7 views
7

tengo el siguiente código:Asignación de más de un teclas de modificación para un gesto clave SHIFT + F no apoyaron

MyPlayPause.InputGestures.Add(new KeyGesture(Key.P, ModifierKeys.Control)); 

tengo que añadir otro gesure para que pueda tener SHIFT + CTRL + P, pero se rompe cuando Agregué la opción para:

MyPlayPause.InputGestures.Add(new KeyGesture(Key.P, ModifierKeys.Control)); 

opción de cambio. Me sale este error: 'Shift+F' key and modifier combination is not supported for KeyGesture.

¿Alguna idea de por qué? Necesito replicar la funcionalidad del botón de avance rápido de Media Player.

+0

Uy fijos mirando http://social.msdn.microsoft.com/Forums/ es/wpf/thread/66674894-720c-4c04-98e8-e48f741f03c1 –

Respuesta

18

ModifierKeys enumeración es una marca como [FlagsAttribute] lo que puede hacer:

ModifierKeys.Control | ModifierKeys.Shift 

Así:

MyPlayPause.InputGestures.Add(new KeyGesture(Key.P, ModifierKeys.Control | ModifierKeys.Shift)); 
+0

Sí, pero si uso 'Key.D0' y 'ModifierKeys.Control | ModifierKeys.None' para obtener unir un dígito a un comando, el atajo solo funciona cuando se presiona Control, y se supone que es 'Ninguno' ** Y O ** 'Control'. – ProfK

Cuestiones relacionadas