Ja, ich weiß … zu dieser Info gibt es im Netz schon einige Myriaden Einträge. Trotzdem möchte ich das Thema kurz aufgreifen: Wie kann man eine WPF-Anwendung unter Windows XP mit einem anderen Theme, zum Beispiel dem Aero Theme aus Windows Vista ausstatten?
Der Schlüssel dazu liegt in folgendem Ressourcen-Eintrag üblicherweise in der Datei App.xaml:
<Application x:Class="Vista.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="Window1.xaml"> <Application.Resources> <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL; component/themes/aero.normalcolor.xaml" /> </Application.Resources>
</Application>
Wichtig ist der markierte Teil: Wie kommt man auf so ein Zeug?
Das hatte mich immer schon interessiert. Allerdings bin ich der Sache nie nachgegegangen, weil mir einfach die Zeit dazu gefehlt hat. Also, was soll das ganze?
Ich bin der Sache nachgegangen und darauf gekommen, dass hier eine Assembly im Global Assembly Cache referenziert wird. Ich sah also unter C:\WINDOWS\ASSEMBLY nach und fand tatsächlich folgende Dateien:
PresentationFramework.Aero PresentationFramework.Classic PresentationFramework.Luna PresentationFramework.Royale
Aha! Hier steckt das Layout! Doch wie kommt man auf all die anderen Angaben im Source-String (siehe oben)?
Auch das ist einfach zu erklären, denn wenn man sich die Spalten im Windows Explorer ansieht, werden dort genau die Informationen geliefert, die in unserem Source-String stehen: Version, Culture, PublicKey und ProcessorArchitecture.
In der DLL scheint dann die Datei aero.normalcolor.xaml zu stecken. Das weiß ich aber nicht genau. Doch wenn ich’s erfahre, schreibe ich Euch. Ganz bestimmt!