© best_vector/Shutterstock.com
Kolumne: XAML Expertise

WPF und Universal-Windows-Apps


In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger nun schon seit fünf Jahren Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertisen: „Universal-Windows-App: SVG-Bilder in deiner App“, „WPF: SVG-Support mit SharpVectors“ und „XAML: Hintergrund des XAML-Designers ändern“. Viel Spaß mit XAML Expertise.

Video: Interview mit Gregor Biswanger

Universal-Windows-App: SVG-Bilder in deiner App

Das neue Windows-10-Creators-Update bringt einige Neuerungen für die Universal-Windows-Apps mit sich. Eine darunter ist die Unterstützung zum Anzeigen von SVG-Bildern (Scalable Vector Graphics). Das SVG-Format basiert auf XML und ist eine vom W3C empfohlene Spezifikation, um zweidimensionale Vektorgrafiken im Web darzustellen. Vektorgrafiken sind, vereinfacht ausgedrückt, Beschreibungen von zweidimensionalen Objekten wie Kreisen, Rechtecken und Pfaden. Das bringt für einige Grafikabbildungen einen erheblichen Vorteil gegenüber klassischen Bildformaten wie JPEG oder PNG, z. B. beim Einsatz von Icons. Sind diese als JPEG oder PNG in einer fixen Größe erzeugt worden, können sie auf unterschiedlichen Gerätegrößen verpixelt und unscharf aussehen.

Zum Anzeigen von SVG-Dateien, kann das Standard-Image-Steuerelement wie gewohnt eingesetzt werden (Listing 1, Abb. 1). Dem Autor ist bei der aktuellen VS2017-(15.2-)Version aufgefallen, dass der XAML-Designer keine Vorschau anzeigt und im Eigenschaftenfenster unter Source keine SVG-Dateien in der Auswahlliste angeboten werden.

biswanger_1.tif_fmt1.jpgAbb. 1: SVG-Support in Universal-Windows-Apps

Die SVG-Unterstützung ist allerdings nur auf die Anzeige beschränkt und der dynamische Zugriff auf einzelne XML-Elemente nicht möglich. Dazu empfiehlt Microsoft die Entwicklung der App mit JavaScript oder beim Einsatz von XAML mit dem WebView-Steuerelement zu arbeiten. Über C++ kann mittels Direct2D direkt Einfluss genommen werden. Das dynamische Manipulieren von SVG während der Laufzeit ist auf jeden Fall eine der gefragtesten Anforderungen im Webumfeld. Bei Universal-Windows-Apps wird man hingegen wegen der Einschränkung eher auf den Vorteil der Skalierbarkeit setzen.

Die SVG-Unterstützung bezieht sich ebenfalls nur auf eine Teilmenge vom Standard. So werden zum Beispiel keine Animationen und Interaktionen unterstützt.

Listing 1: SVG-Bilder in Universal-­Windows-Apps mit dem Image-Steuerelement

<Page x:Class="SvgSample.MainPage" xmlns="http://schemas...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang