Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

WPF: Verbessertes MenuItem-Template

Entwickler Sergey Alexandrovich Kryukov hat sich eines bekannten Problems in WPF-Menüs angenommen und stellt ein verbessertes MenuItem-Template zur Verfügung.
Menüpunkte ohne Icons sehen schlecht aus, weil sie schlecht ausgerichtet sind und überflüssige Trennlinien haben. Menüpunkte mit Icons können dagegen nicht richtig gerendert werden, wenn die Schriftart des Menüs größer wird. Das Problem ist so schlimm, dass viele Leute gefragt haben, wie man den Icon-Bereich von allen Menüpunkten vollständig entfernen kann. Nicht alle Lösungen zum Entfernen des Icon-Bereichs sind allerdings zufriedenstellend.Aber das eigentliche Ziel ist es, alle wesentlichen bestehenden Elemente des Menüs mit korrekter Ausrichtung und Skalierung zu erhalten. Entwickler Sergey Alexandrovich Kryukov zeigt in einem Artikel auf CodeProject, wie man dieses Problem durch eine minimale Reihe von Änderungen an der Standard-Menüpunktvorlage lösen kann.Als sich Kryukov die Standard-Vorlage für WPF-MenuItems ansah, fand er ein wildes Durcheinander von vielen hart kodierten Werten, welche die Größen und das Layout der Elemente beeinflussen. Offensichtlich ist das Menü-Steuerelement für die Verwendung mit einer festen Standardschriftart und Icons in nur einer festen Größe (16x16) konzipiert.Kryukov hat versucht, die Vorlage so konservativ wie möglich zu ändern. Das schwierigste Problem dabei war die vertikale Trennlinie zwischen dem Symbol und dem Kopfbereich. Er beschloss sie aufzugeben und zu entfernen, da seine korrekte Platzierung eine radikale Umstrukturierung von allem erfordern würde.Wie Kryukov es geschafft hat, die MenüItem-Vorlage zu überarbeiten lesen Sie auf dieser Seite. Getestet wurde die neue Lösung mit .NET 5 und .NET 7.

Neueste Beiträge

Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
Chunks mit Köpfchen - KI für KMU, Teil 1
Wie trenne ich Textinformationen in sinnvolle Segmente?
7 Minuten
Generative AI und Python - Python und AI, Teil 4
Generative KI mit Python nutzen und so die Basis für eigene Anwendungen schaffen.
7 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
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
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
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige