Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

WPF: Alt-Taste für die Navigation nutzen

Einfacher geht's nicht, wenn man's weiß. Wenn man es nicht weiß, kann man sich fürchterlich verlaufen.
Manchmal tut es fast körperlich weh, wenn man die Lösung für ein lange ungelöstes Problem findet, weil diese trivial ist und man allzu lange und intensiv auf der falschen Fährte gesucht hat. Mir ist das bei einer WPF-Anwendung passiert, bei der die Navigation nicht nur über Buttons, sondern auch über die Tastatur erfolgen sollte. Es ging um das Blättern von Seite zu Seite in einem Karteikasten. Leider ging ich dies zusammen mit dem Behandeln von KeyDown-Events der Textbox mit und ohne gedrückter Strg-Taste an. Das Erkennen der Alt-Taste nebst Plus- beziehungsweise Minus-Taste erwies sich als schwierig und wanderte bald in die YAGNI-Schublade (You Ain't Gonna Need IT). Dumm gelaufen kann man sagen. Denn erstens gehört das Feature nicht in diese Schublade und zweitens hab' ich es auf der falschen Baustelle zu realisieren versucht. Die Lösung ist nämlich trivial und ich selbst kenne sie eigentlich seit Jahrzehnten.Buttons und Menüpunkte unter Windows lassen sich nämlich quasi schon immer per Tastenkombi Alt plus unterstrichener Buchstabe ansteuern. Das klappt auch in der WPF (zumindest in der aktuellen Version, war aber womöglich schon immer so). Welcher Buchstabe unterstrichen wird, steuert man über den Content eines Objekts, indem man vor den Buchstaben, der mit gedrückter Alt-Taste das Objekt ansteuern soll einen Unterstrich setzt. Für einen WPF-Button sieht das beispielsweise so aus:

<Button Name="btZurück" Content="_-" Height="30" 
  FontFamily="JetBrains Mono" FontSize="16" FontWeight="Black" 
  Width="30" Margin="12 0 0 0" />

<Button Name="btVor" Content="_+" Height="30" 
  FontFamily="JetBrains Mono" FontSize="16" FontWeight="Black" 
  Width="30" Margin="2 0 0 0" />
 
Content="_-" und Content="_+" sorgen dafür, dass man die Buttons zum Blättern einfach mit den Tastenkombinationen [Alt] + [-] beziehungsweise [Alt] + [+] ansteuern kann. Mehr ist nicht zu tun. Der unterstrichene Buchstabe erscheint übrigens erst dann, wenn der Anwender die Alt-Taste drückt.
Miscellaneous

Neueste Beiträge

Deep Learning in .NET – TensorFlow.NET und TorchSharp - .NET, Python und KI, Teil 3
Mit modernen KI-Frameworks lassen sich Deep-Learning-Modelle direkt in C# entwickeln.
6 Minuten
SQLite als Dokumentenspeicher: Kann das gut gehen? - SQLite für .NET-Entwickler, Teil 5
Die Embedded SQL-Datenbank SQLite kann auch als objektorientierte Datenbank beziehungsweise Dokumentenspeicher genutzt werden – nach Konzepten also, wie sie NoSQL-Datenbanken wie MongoDB einsetzen.
6 Minuten
29. Apr 2026
Maschinelles Lernen in .NET - .NET, Python und KI, Teil 2
Für eine performante und plattformübergreifende Inferenz von NET-Projekten empfiehlt sich eine hybride Strategie aus Training oder Prototyping in Scikit-Learn/Python, Export nach ONNX und Einbindung in .NET über ML.NET oder ONNX Runtime.
7 Minuten

Das könnte Dich auch interessieren

Python in .NET – Integration mit Python.NET - .NET, Python und KI, Teil 1
Python-Code lässt sich in .NET-Anwendungen mit dem Open-Source-Projekt Python.NET einbinden. Wir erklären die Installation und grundlegende Interop-Szenarien. Ein einfaches Beispiel veranschaulicht die Praxis.
6 Minuten
00:00
Bluetooth, Biometrie und Multiplattform: Was .NET MAUI Hybrid wirklich kann - Die Möglichkeiten von .NET MAUI Blazor Hybrid verstehen
Codrina Merigo baut mit .NET MAUI Blazor Hybrid Apps für Android, iOS, macOS und Windows – und nutzt dafür das, was Web-Entwickler:innen sowieso schon können. Im Interview im Vorfeld der DWX 2026 erklärt sie, wie das geht, wo's hakt und warum das Framework im Enterprise-Umfeld eine ernste Option ist.
28. Apr 2026
Maschinelles Lernen in .NET - .NET, Python und KI, Teil 2
Für eine performante und plattformübergreifende Inferenz von NET-Projekten empfiehlt sich eine hybride Strategie aus Training oder Prototyping in Scikit-Learn/Python, Export nach ONNX und Einbindung in .NET über ML.NET oder ONNX Runtime.
7 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige