Anzeige
Anzeige
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.

Neueste Beiträge

Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
DDC hakt nach: Bringt Blazor 10 Ordnung ins Chaos?
Mit Blazor lässt sich Code in C# schreiben, der im Web-Frontend ausgeführt wird. Die Version 10 soll Ordnung in das gewachsene Framework bringen. Dr. Holger Schwichtenberg verrät im Interview, was sich getan hat.
3 Minuten
3. Nov 2025
Deep Learning mit Python - Python und AI, Teil 3
In der heutigen KI-Entwicklung spielen Deep-Learning-Frameworks eine zentrale Rolle. Ein Vergleich der beiden populärsten Bibliotheken TensorFlow und PyTorch.
10 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Benchmark im Unit-Test-Stil - Best of NuGet, Teil 4
NuGet-Pakete können das Leben des .NET-Entwicklers sogar um neue Werkzeuge erweitern, die sich auf den Entwicklungsworkflow (und nicht den bearbeiteten Code) auswirken. Mit BenchmarkDotNet steht ein Musterbeispiel dieses Konzepts zur Verfügung, das die Überprüfung der Performance von Code aller Arten ermöglicht.
7 Minuten
16. Okt 2025
Loggingdaten-Einlaufstelle mit Komfortfunktionen - Best of NuGet, Teil 5
Die in Android implementierte Logging-Funktion ist ein leistungsfähiges Beispiel für moderne Logging-Systeme. Mit Serilog steht ein ähnliches System für .NET-Applikationen zur Verfügung, das allerdings einige weit über das große Vorbild hinausgehende Funktionen offeriert.
6 Minuten
22. Okt 2025
Attraktives GUI mit Spectre.Console - Best of NuGet, Teil 6
Mit der Bibliotheksfamilie Spectre.Console steht ein neues Produkt ante portas, das die Realisierung von visuell ansprechenden Kommandozeileninterfaces zu erleichtern sucht.
7 Minuten
29. Okt 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige