Quelle: dotnetpro
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 Menu­Item-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