2011-07-28 6 views
7

Mam następujący kod:Przypisywanie więcej niż jednego modyfikatora Klawisze do Key Gest Shift + F nie są obsługiwane

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

muszę dodać kolejny gesure więc mogę mieć Shift + Ctrl + P, ale łamie gdy Dodaję opcję:

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

opcja zmiany. Otrzymuję ten błąd: 'Shift+F' key and modifier combination is not supported for KeyGesture.

Każdy pomysł, dlaczego? Muszę powielić funkcję przycisku przewijania do przodu odtwarzacza multimediów.

+0

oops ustalone patrząc na http://social.msdn.microsoft.com/Forums/ en/wpf/thread/66674894-720c-4c04-98e8-e48f741f03c1 –

Odpowiedz

18

ModifierKeys enum jest oznaczony jako [FlagsAttribute] więc można zrobić:

ModifierKeys.Control | ModifierKeys.Shift 

Więc:

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

Tak, ale jeśli użyję "Key.D0" i "ModifierKeys.Control | ModifierKeys.None', aby uzyskać klucz cyfrowy do polecenia, skrót działa tylko wtedy, gdy naciśnięty jest Control, a to ma być "Brak" ** AND OR ** "Control". – ProfK

Powiązane problemy