Kolumne XAML Expertise: WPF und Windows-Apps

XAML-Tipp: WPF – SVG-Support mit SharpVectors
Kommentare

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: „WPF: SVG-Support mit SharpVectors“.

Für Universal-Windows-Apps ist seit dem neuen Windows-10-Creators-Update der Build-in-Support für SVG-Dateien dazugekommen. Der SVG-Support für klassische WPF-Anwendungen ist leider nicht vorhanden. Microsoft hatte hierfür in der Vergangenheit Tools vorgeschlagen, die eigene XAML-basierte Pfade zeichnen. Glücklicherweise gibt es mit dem Open-Source-Projekt SharpVectors eine angenehmere Alternative aus der Community.

WPF: SVG-Support mit SharpVectors

Bereitgestellt wird das Projekt über NuGet „Install-Package SharpVectors“. Die installierte Library stellt dann ein SvgViewBox-Steuerelement zur Verfügung. Dieses kann man dann über die Source Property der SVG-Datei zuweisen, und es bietet eine Vielzahl an Einstellungsmöglichkeiten (Listing 1).

<Window x:Class="SvgSample.MainWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"
  mc:Ignorable="d"
  Title="MainWindow" Height="350" Width="525">
    <Grid>
      <svgc:SvgViewbox Margin="50" Stretch="Uniform" Source="Smiley.svg" />
    </Grid>
</Window>

Als Alternative kann ebenfalls das Standard-Image-Steuerelement eingesetzt werden (Listing 2, und Abb.1). Dabei ist man aber auf dessen Einstellungsmöglichkeiten beschränkt. Die Library bietet auf jeden Fall die unterschiedlichsten Möglichkeiten zur Unterstützung an. Einen umfangreichen Artikel dazu gibt es vom SharpVectors-Autor unter www.codeproject.com.

Listing 2: Das SVG-Bild mit Image-Steuerelement der SharpVectors Library
<Window x:Class="SvgSample.MainWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"
  mc:Ignorable="d"
  Title="MainWindow" Height="350" Width="525">
    <Grid>
      <Image Source="{svgc:SvgImage /Smiley.svg}"/>
    </Grid>
</Window>

Abb. 1: SVG-Support mit SharpVectors in WPF-Anwendungen

Windows Developer

Windows DeveloperDieser Artikel ist im Windows Developer erschienen. Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien.

Natürlich können Sie den Windows Developer über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. In unserem Shop ist der Windows Developer ferner im Abonnement oder als Einzelheft erhältlich.


Schnell und überall: Datenzugriff mit Entity Framework Core 2.0

Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

C# 7.0 – Neues im Detail

Christian Nagel (CN innovation)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -