J'ai une application WPF (prism) qui utilise beaucoup d'autres assemblys WPF et même des win32 win32 contenant d'autres fenêtres (wpf et win32).Définir une touche de raccourci pour l'application dans une application mixte wpf/win32
Lorsque l'utilisateur appuie sur une touche de fonction (F2-F12), je souhaite ouvrir des fonctions de programme spéciales.
Quelque chose comme ceci:
RoutedCommand commandF4 = new RoutedCommand();
commandF4.InputGestures.Add(new KeyGesture(Key.F4));
Application.Current.MainWindow.CommandBindings.Add(new CommandBinding(commandF4, CallCommandF4));
Le problème est: cela ne fonctionne que lorsque le MainWindow a le focus. Si j'ouvre une fenêtre WPF secondaire (ou une fenêtre win32) le raccourci clavier ne s'applique plus.
Existe-t-il un moyen d'ajouter une touche de raccourci global à l'échelle de l'application pour F4 (ou une autre clé)?
Ou au moins une touche de raccourci WPF?
[Entrée focus ne peut être sur une fenêtre à aucun moment] (http://msdn.microsoft.com/en-us/library/ms754010.aspx#focus). Vous pouvez essayer d'attraper le raccourci clavier dans la fenêtre secondaire et utiliser [messagerie] (http://www.google.com/search?q=mvvm+messaging) pour communiquer à MainWindow que la touche a été enfoncée. Win32 fenêtre peut nécessiter des crochets de clavier de niveau inférieur et le tri. –