WPF und Windows Forms lassen sich in einer Anwendung kombinieren. Damit können nicht nur Komponenten gemeinsam genutzt werden, sondern auch die Umstellung von Anwendungen geht damit leichter von der Hand, da eine Anwendung Stück für Stück umgestellt werden kann. Allerdings gibt es standardmäßig ein paar unschöne Effekte, wenn man einen alten Windows-Forms Dialog aus einer WPF-Anwendung öffnet.
Der Dialog öffnet sich im feinsten Windows 95 Gedächtnislook, ein Tapetenwechsel der nur Nostalgikern gefallen durfte.
Nicht nur eigene Dialoge und Komponenten öffnen sich im Retro-Look, auch Windows-Dialoge wie eine MessageBox erstrahlt im klassischen Design.
Wir erinnern uns zurück, das Problem trat bereits beim Wechsel von Windows 2000 auf Windows XP auf. Hier gab es ein neues Design und um eine Anwendung dieses nutzen zu lassen war ein angepasstes Manifest notwendig. Das Gleiche ist auch hier notwendig.
Dies geht sehr einfach. Wir fügen dem Projekt einfach eine Manifest-Datei hinzu. Diese trägt den Namen “app.manifest”.
Die Anwendung verwendet diese anschließend automatisch, alternativ muss dies in den Projekteinstellungen festgelegt werden. Damit die Manifest-Datei aber die gewünschte Wirkung zeigt, muss diese noch bearbeitet werden. Wir finden am Ende folgenden Eintrag. Dieser ist standardmäßig auskommentiert.
Ist dieser wieder einkommentiert, funktioniert es auch schon. Die MessageBox erstrahlt im Windows 10 Design.
Und auch die Dialoge und Komponenten verwenden das moderne Windows-Design. Warum dies nicht per Default aktiv ist, ist mir ein Rätsel. Die Verwendung einer MessageBox ist ja nun auch in WPF-Anwendungen nichts Ungewöhnliches.