© studiovin/shutterstock.com
Windows Developer
Mit Windows 10 Controls Anwendungen modernisieren

XAML Islands: WPF und Windows Forms

Als XAML Islands wird eine mit Windows 10 Version 1903 eingeführte Technologie bezeichnet, mit der sich moderne UWP Controls mit Fluent Design in WPF- und Windows-Forms-Applikationen einbinden lassen. Damit ist es möglich, bestehende Anwendungen zu modernisieren, ohne dass diese gleich von Grund auf neu geschrieben werden müssen. In diesem Artikel erfahren Sie, wie Sie XAML Islands einsetzen und wie die Zukunft der Universal Windows Platform aussieht.

Thomas Claudius Huber


Viele Unternehmen haben zahlreiche .NET-Desktopanwendungen im Einsatz, die mit Windows Forms und WPF basierend auf dem .NET Framework entwickelt wurden. Mit .NET Core und XAML Islands lassen sich diese Anwendungen modernisieren. Bevor wir uns in diesem Artikel XAML Islands widmen, werfen wir einen kurzen Blick auf die Migration von .NET-Framework-Anwendungen nach .NET Core.

Migration nach .NET Core

Mit .NET Core 3.0 hat Microsoft sowohl Windows Forms [1] als auch WPF [2] auf .NET Core portiert und darüber hinaus auch den Quellcode auf GitHub veröffentlicht.

Um XAML Islands in einer WPF- oder Windows-Forms-App zu verwenden, ist eine Portierung der eigenen App auf .NET Core nicht zwingend erforderlich, aber als Teil der Modernisierung empfohlen. .NET Core unterstützt mit XAML Islands mehr Szenarien und hat darüber hinaus noch weitere Vorteile. Beispielsweise lassen sich nur mit .NET Core die neuesten, mit C# 8.0 eingeführten Sprachfeatures verwenden. Im .NET Framework stehen diese Sprachfeatures nicht zur Verfügung.

Um eine einfache WPF-Anwendung nach .NET Core zu portieren, ist lediglich eine Anpassung der .csproj-Datei notwendig. Üblicherweise kann der bestehende Inhalt komplett gelöscht und durch den Inhalt aus Listing 1 ersetzt werden.

Listing 1: .NET-Core-Projektdatei WinExe netcoreapp3.0 true

Listing 1 enthält das sogenannte SDK-Style-Projektformat, das für ein .NET-Core-Projekt zwingend notwendig ist. Das SDK-Style-Projektformat ist daran zu erkennen, dass auf dem Project-Element, das die Wurzel des Dokuments darstellt, das Sdk-Attribut gesetzt ist. In der Projektdatei in Listung 1 wird mit diesem Sdk-Attribut das Windows Desktop SDK von .NET Core verwendet. Zudem ist in der Projektdatei in Listing 1 .NET Core 3 als TargetFramework angegeben. Mit dem UseWPF-Element werden in einem .NET-Core-Projekt die Referenzen für die WPF Assemblies hinzugefügt. Wäre es ein Windows-Forms-Projekt, wäre der einzige Unterschied in der Projektdatei, dass statt eines UseWPF-Elements eben ein UseWindowsForms-Element verwendet wird, um damit die Windows Forms Assemblies zu referenzieren.

Nach der Anpassung der .csproj-Datei auf das minimale, in Listing 1 dargestellte Format, müssen natürlich vorherige Projekt- und NuGet-Referenzen wieder hinzugefügt werden, was wie gewohnt über den Solution Explore...

Windows Developer
Mit Windows 10 Controls Anwendungen modernisieren

XAML Islands: WPF und Windows Forms

Als XAML Islands wird eine mit Windows 10 Version 1903 eingeführte Technologie bezeichnet, mit der sich moderne UWP Controls mit Fluent Design in WPF- und Windows-Forms-Applikationen einbinden lassen. Damit ist es möglich, bestehende Anwendungen zu modernisieren, ohne dass diese gleich von Grund auf neu geschrieben werden müssen. In diesem Artikel erfahren Sie, wie Sie XAML Islands einsetzen und wie die Zukunft der Universal Windows Platform aussieht.

Thomas Claudius Huber


Viele Unternehmen haben zahlreiche .NET-Desktopanwendungen im Einsatz, die mit Windows Forms und WPF basierend auf dem .NET Framework entwickelt wurden. Mit .NET Core und XAML Islands lassen sich diese Anwendungen modernisieren. Bevor wir uns in diesem Artikel XAML Islands widmen, werfen wir einen kurzen Blick auf die Migration von .NET-Framework-Anwendungen nach .NET Core.

Migration nach .NET Core

Mit .NET Core 3.0 hat Microsoft sowohl Windows Forms [1] als auch WPF [2] auf .NET Core portiert und darüber hinaus auch den Quellcode auf GitHub veröffentlicht.

Um XAML Islands in einer WPF- oder Windows-Forms-App zu verwenden, ist eine Portierung der eigenen App auf .NET Core nicht zwingend erforderlich, aber als Teil der Modernisierung empfohlen. .NET Core unterstützt mit XAML Islands mehr Szenarien und hat darüber hinaus noch weitere Vorteile. Beispielsweise lassen sich nur mit .NET Core die neuesten, mit C# 8.0 eingeführten Sprachfeatures verwenden. Im .NET Framework stehen diese Sprachfeatures nicht zur Verfügung.

Um eine einfache WPF-Anwendung nach .NET Core zu portieren, ist lediglich eine Anpassung der .csproj-Datei notwendig. Üblicherweise kann der bestehende Inhalt komplett gelöscht und durch den Inhalt aus Listing 1 ersetzt werden.

Listing 1: .NET-Core-Projektdatei WinExe netcoreapp3.0 true

Listing 1 enthält das sogenannte SDK-Style-Projektformat, das für ein .NET-Core-Projekt zwingend notwendig ist. Das SDK-Style-Projektformat ist daran zu erkennen, dass auf dem Project-Element, das die Wurzel des Dokuments darstellt, das Sdk-Attribut gesetzt ist. In der Projektdatei in Listung 1 wird mit diesem Sdk-Attribut das Windows Desktop SDK von .NET Core verwendet. Zudem ist in der Projektdatei in Listing 1 .NET Core 3 als TargetFramework angegeben. Mit dem UseWPF-Element werden in einem .NET-Core-Projekt die Referenzen für die WPF Assemblies hinzugefügt. Wäre es ein Windows-Forms-Projekt, wäre der einzige Unterschied in der Projektdatei, dass statt eines UseWPF-Elements eben ein UseWindowsForms-Element verwendet wird, um damit die Windows Forms Assemblies zu referenzieren.

Nach der Anpassung der .csproj-Datei auf das minimale, in Listing 1 dargestellte Format, müssen natürlich vorherige Projekt- und NuGet-Referenzen wieder hinzugefügt werden, was wie gewohnt über den Solution Explore...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang