2015-11-23 24 views
6

Ich entwickle eine WPF-Desktop-Anwendung, die in einer Citrix-Umgebung ausgeführt wird, die das Windows 7 Basic Theme auf meine Anwendung anwendet. Daher verwende ich Windows 7 auf meiner Entwicklungsarbeitsstation, um sicherzustellen, dass die Benutzeroberfläche wie vorgesehen gerendert wird.Authentisches Windows 7 Theme in Windows 10?

Ich möchte es jedoch auf Windows 10 aktualisieren, aber ich muss Mittel finden, meine App mit dem Windows 7-Thema in Windows 10 zu betreiben. Übrigens (und seltsamerweise), wenn ich meine App in Windows XP ausführen Kompatibilitätsmodus unter Windows 10 rendert es mit dem Windows 7-Thema, so ist das Betriebssystem in der Lage, das Thema zu rendern. Ich bin nicht sicher, dass ich alle Tests meiner App mit Kompatibilitätsmodus aktiviert tun möchte, obwohl ...

Ich bin mir auch der Drittanbieter-Theming-Lösungen bewusst, aber um irgendwelche Diskrepanzen auszuschließen, würde ich gerne Verwenden Sie das authentische Windows 7-Design von Microsoft.

Gibt es irgendwelche Tricks/Tweaks/Hacks da draußen, um einfach das Windows 7 Theme für meine App in Windows 10 zu aktivieren?

Antwort

7

Das WPF-Thema für Aero befindet sich in der PresentationFramework.Aero-Bibliothek, fügen Sie das also als Referenz hinzu. Fügen Sie dann in Ihrem App.xaml das folgende zusammengeführte Wörterbuch hinzu, um das Standardthema zu überschreiben.

<ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" /> 
</ResourceDictionary.MergedDictionaries> 

Ich bin angenehm überrascht, dass sie in .NET 4.5 schließlich aktualisieren WPF habe Windows-10.08 themeing zu unterstützen (das taten sie nicht am Start von Windows 8) mit dem folgenden:

  • PresentationFramework.Aero2
  • PresentationFramework.AeroLite

Haben sie nicht vor dem heutigen Tag gesehen, mit .NET 4.5 häufiger arbeiten müssen;)

+0

Das ist in der Tat eine ganz schöne Lösung. Allerdings habe ich einige ältere WinForms-Bildschirme, die ich über Interop hosten, die vom WPF-Thema nicht betroffen sind. Ich wünsche mir wirklich eine Lösung, wo Windows das Windows 7-Thema auf den gesamten Prozess anwendet. –

+0

@ TormodFjeldskår Leider sind WPF-Steuerelemente immer selbstgestaltet. Windows Forms, wie Sie wissen, ist vollständig nativ. Das Einzige, was mir dabei einfällt, ist eine Art von Kompatibilitätseinstellungen, aber das ist nicht wirklich praktisch. –