Ich möchte eine Tastenkombination (z. B. Control-A
) in einer Windows-Anwendung erkennen. Der KeyDown
Event-Handler hat Informationen über die letzte gedrückte Taste. Aber wie finde ich heraus, ob auch die Strg-Taste gedrückt wurde?Get Keyboard-Status in Universal Windows-Anwendungen
Antwort
Sie CoreVirtualKeyStates.HasFlag(CoreVirtualKeyStates.Down)
verwenden können, um zu bestimmen, ist die Ctrl Taste gedrückt wurde, so -
Window.Current.CoreWindow.KeyDown += (s, e) =>
{
var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
if (ctrl.HasFlag(CoreVirtualKeyStates.Down) && e.VirtualKey == VirtualKey.A)
{
// do your stuff
}
};
Wenn ich Ihre Frage richtig verstanden habe, abonnieren Sie 'Window.Current.CoreWindow.KeyDown', anstatt das' KeyDown'-Ereignis Ihrer Seite zu abonnieren, wie in meiner Antwort. –
Perfekt! Danke vielmals! – ispiro
Sie AcceleratorKeyActivated Ereignis verwenden können, und zwar unabhängig davon, wo der Fokus ist es immer das Ereignis zu erfassen.
public MyPage()
{
Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated += AcceleratorKeyActivated;
}
private void AcceleratorKeyActivated(CoreDispatcher sender, AcceleratorKeyEventArgs args)
{
if (args.EventType.ToString().Contains("Down"))
{
var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
if (ctrl.HasFlag(CoreVirtualKeyStates.Down))
{
switch (args.VirtualKey)
{
case VirtualKey.A:
Debug.WriteLine(args.VirtualKey);
Play_click(sender, new RoutedEventArgs());
break;
}
}
}
}
- 1. Get Auflösung in Windows 8.1 Universal
- 2. iOS Universal Links und GET-Parameter
- 3. C# XAML Universal-Apps loswerden ‚Maske‘ get über Textfelder
- 4. Universal-Boolean Formatierung in GridField
- 5. wie in einem Universal-App
- 6. Universal-Array in Objektiv C
- 7. Universal unveränderliche Klassen in C#
- 8. Mehrsprachige Unterstützung in Universal App
- 9. QR-Code in Universal Windows
- 10. Get installiert Anwendungsliste in UWP
- 11. Rails - Universal Globale Funktion
- 12. Universal App nicht öffnen
- 13. Universal Links iOS
- 14. Android Universal App Approach
- 15. Universal iPhone/iPad AppDelegate
- 16. Wie Universal-Referenzen abgeleitet bekommen
- 17. C++ 11: Universal-Testamentsvollstrecker
- 18. CSS Universal Selektor (*) Spezifität
- 19. Universal-Skriptsprache für Windows
- 20. ASP.NET Universal Provider
- 21. Universal-Code, die
- 22. Angular 2 Universal Heroku Deploy
- 23. EF Migration für Universal Windows-Plattform
- 24. Windows Universal Apps - Anzeigen von SQLite-Daten in Listview
- 25. Benutzerdefiniertes Steuerelement Bindungsproblem (Windows Universal 10)
- 26. Windows Universal App 8.1 in Windows 10
- 27. Weird ListView Verhalten in Universal Windows Apps
- 28. Erweiterte StackPanel in Universal-App C#
- 29. Neues Fenster in WinJS Universal App öffnen
- 30. Universal-Links funktionieren nicht in der Entwicklung
Normalerweise tun Sie 'KeyPressed == Control | A' – kevintjuh93
@KevinKal Danke. Aber ich habe es versucht. Es war nur "A". – ispiro
Die Steuerung ist ein Systemschlüssel, daher wird sie anders protokolliert. Ich bin nicht sicher, wie es gemacht wird, aber das ist das Problem, das Sie sehen – rmn36