WPF-Menü mit Platzhaltern definieren
18.11.2019, 00:00 Uhr
Menübaukasten
WPF-Menüs können Platzhaltern enthalten, die später mit eigenen Komponenten gefüllt werden.
Es begann wieder mal mit einem Kundenwunsch: Entwickler sollten Hauptmenüs in Form von UserControl-Objekten frei gestalten und bereitstellen, an einigen Stellen in der Baumstruktur der Menüs aber Platzhalter vorsehen können. In der auf dem MVVM-Muster aufbauenden Anwendung sollten diese Komponenten dann in nutzereigenen Views verwendet werden und die Platzhalter bei Bedarf durch konkrete Untermenüpunkte ersetzt werden. Die Menüs sollten aber nicht seitens des ViewModels durch ein Codemodell spezifiziert werden, sondern im XAML-Code definierbar sein.
Ein erster Ansatz, wie eine solche Menükomponente umgesetzt werden könnte, ist in Listing 1 zu sehen. Innerhalb einer beliebigen Menüstruktur sollen neben MenuItem- und Separator-Objekten auch Platzhalter definierbar sein. Diese sollen ihrerseits später jeweils durch eine Liste von MenuItem-Objekten ersetzt oder, falls kein Ersatz vorgesehen wird, in der Anzeige unterdrückt werden. Aussehen soll das Ergebnis dann wie in Bild 1 gezeigt.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar