2009-03-11 10 views
2

Je dois pouvoir configurer un événement de raccourci-clavier pour une application WPF. (par contexte je veux dire que l'application en question pourrait ne pas être nécessaire).Comment créer une touche de raccourci de fond avec WPF C#? (de préférence sans utiliser de code hérité)

Je sais qu'avec WinForms la manière correcte de le faire serait d'importer user32.dll, et d'utiliser RegisterHotKey, et l'attraper le message WM_POST approprié. Je suis convaincu qu'il doit y avoir une meilleure solution avec WPF, puis en utilisant user32.dll, mais j'ai été incapable de trouver quelque chose. Aucune suggestion? Merci

Répondre

1

Je ne pense pas que WPF a un support intégré pour les raccourcis clavier, au moins je ne pouvais pas en trouver et j'ai utilisé RegisterHotKey directement. Pourquoi ne pas utiliser l'infrastructure Command fournie par WPF?

+0

D'accord, semble comme RegisterHotKeys est la seule solution. – vicsz

0

Vous pouvez essayer d'affecter plusieurs liaisons de commande pour vous la fenêtre principale et de fournir des gestes clés pour elle ...

0

Vous devez utiliser WinForm comme vous l'avez dit ou Win32.

J'ai créé une solution dans une classe (Win32) que vous pouvez utiliser directement dans une solution wpf. Mettez simplement la classe dans une DLL distincte et tout appel à win32 sera transparent pour vous (et vous permettra de continuer à utiliser edit et de continuer correctement). J'espère que cela aide.

enter link description here