WPF, Silverlight, Windows Phone 8 und Windows Store Apps

WPF: Themes-Kompatibilität unter Windows 8
Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und Fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „WPF: Themes-Kompatibilität unter Windows 8“. Viel Spaß mit XAML Expertise.

Wenn Sie unter Windows 8 ab Visual Studio 2012 an einem WPF-Projekt arbeiten und dieses auch zukünftig unter Windows Vista bzw. 7 funktionieren soll, müssen Sie Ihre Assembly-Referenzen überprüfen. Wird auf die PresentationFramework.Aero2 referenziert, erhält man unter Windows Vista/7 folgende Exception: System.IO.FileNotFoundException: Could not load file or assembly ‚PresentationFramework.Aero2, PublicKeyToken=31bf3856ad364e35‘ or one of its dependencies. Das System kann die angegebene Datei nicht finden.

Windows 8 Themes kompatibel machen

Wenn das bei Ihnen der Fall sein sollte, wurde diese Referenz vom XAML-Designer automatisch referenziert. Im XML-Namespace wurde direkt auf das Windows-8-Standard-Theme verwiesen und die dazugehörige Assembly wurde referenziert:

xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"

Diese Assembly ist fester Bestandteil von Windows 8 und kann auch nicht separat unter älteren Windows-Versionen genutzt werden. Die einzige Lösung besteht im Austauschen der Assembly im aktuellen Projekt. Dort ersetzt man die PresentationFramework.Aero2-Referenz mit der auf PresentationFramework.Aero. Außerdem müssen alle XML-Namespaces angepasst werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -