Hinweise zum Buch
Bevor es losgeht, finden Sie hier noch ein paar Hinweise dazu, wie Sie am besten mit diesem Buch arbeiten. Auf den folgenden Seiten finden Sie kurze Inhaltsangaben zu allen Kapiteln und Informationen zu den verwendeten Beispielen: wo Sie diese finden und welche Systemvoraussetzungen notwendig sind, um sie nachzuvollziehen.
Für wen ist dieses Buch gedacht?
Um den meisten Nutzen aus diesem Buch zu ziehen, sollten Sie über eine gute Portion an C#-Know-how und über etwas Wissen rund um .NET verfügen. Fragen zu Events, Delegates, anonymen Methoden, Lambda Expressions, Auto-implemented Properties, async und await sollten Sie nicht gleich in Verlegenheit bringen. Sind Sie beim Thema .NET oder C# etwas unsicher, empfehle ich Ihnen, vorab ein C#-Buch zu lesen. Grundkenntnisse in XML sind für das vorliegende Buch von Vorteil, allerdings nicht zwingend erforderlich.
Das Buch richtet sich an .NET-Entwickler, die Desktop-Anwendungen für Windows mit der Windows Presentation Foundation umsetzen möchten. Es eignet sich sowohl für WPF-Einsteiger als auch für leicht fortgeschrittene WPF-Entwickler.
Seit Windows 10 lassen sich neben der klassischen Desktop-Anwendung auch die Universal Windows Apps entwickeln. WPF-Anwendungen funktionieren im Gegensatz zu den Universal Windows Apps auch unter älteren Windows-Versionen. Allerdings lassen sich WPF-Anwendungen nur auf dem Desktop von Windows ausführen. Die Universal Windows Apps laufen dagegen neben dem Desktop auf verschiedensten Umgebungen: Xbox, HoloLens oder sogar auf dem Raspberry Pi.
Doch wenn Universal Windows Apps auch auf dem Desktop laufen, warum sollten Sie dann die WPF einsetzen? Die WPF ist den Universal Windows Apps nach wie vor in einigen Teilen überlegen, da das Framework deutlich mehr Möglichkeiten bietet. Somit werden auch heute mächtige Geschäftsanwendungen, die als lokale Applikation unter Windows laufen sollen, mit der WPF umgesetzt. Beispielsweise ist Visual Studio 2019 eine WPF-Anwendung, und die typische datenzentrische Geschäftsanwendung wird es auch sein.
Wenn Sie also eine Anwendung für den Desktop bauen möchten, sind Sie hier genau richtig. Möchten Sie stattdessen lieber eine Universal Windows App entwickeln, in der Sie wie auch bei der WPF XAML und C# einsetzen können, sind Sie hier auch nicht falsch, da viele Konzepte gleich sind. Zudem finden Sie im letzten Kapitel dieses Buchs eine Einführung in die Entwicklung von Universal Windows Apps.
Im vorliegenden Buch erhalten Sie neben dem Wissen, das Sie zum Entwickeln einer WPF-Anwendung benötigen, reichlich Hintergrundinformationen über die Konzepte der WPF: Dazu gehören unter anderem die Extensible Application Markup Language (XAML), Dependency Properties, Routed Events, Commands, Ressourcen oder Logical und Visual Trees. Für einfache Applikationen ist die Kenntnis dieser Konzepte nicht immer erforderlich, für die Entwicklung Ihrer umfangreichen Wunschanwendung ist sie allerdings eine wichtige Voraussetzung. Erst mit diesen Konzepten im Hinterkopf werden Sie in der Lage sein, mit der WPF erfolgreich komplexe Anwendungen zu entwickeln.
Das vorliegende Buch richtet sich also an Entwickler und nicht an grafische Designer. Ein Designer kann mithilfe dieses Buchs zwar den XAML-Code nachvollziehen, den seine Tools wie Blend generieren, aber eben nur dann, wenn er auch die Grundlagen der .NET-Programmierung und C# beherrscht. Haben Sie Webseiten entwickelt und dazu Tools wie FrontPage oder Dreamweaver eingesetzt, werden Sie bestimmt die Erfahrung gemacht haben, dass für komplexere Fälle das Programm nicht den gewünschten Output liefert und Sie das HTML-Dokument manuell editieren müssen. Ebenso verhält es sich mit XAML. Obwohl es viele Tools gibt, die XAML generieren, werden Sie bestimmte Dinge in XAML weiterhin »von Hand« erstellen oder zumindest anpassen müssen, um zu Ihrem Ziel zu kommen.
Der Aufbau des Buches
Das Buch besteht aus 21 Kapiteln, die sich in vier Teile gruppieren lassen:
WPF-Grundlagen und Konzepte
In Teil I lernen Sie die Grundlagen der WPF kennen. Dazu gehören die wichtigsten Klassen, XAML, Controls, Layout und Konzepte der WPF, wie Dependency Properties, Routed Events oder Commands.
Fortgeschrittene Techniken
Fortgeschrittene Techniken werden in Kapitel 10 bis Kapitel 12 betrachtet. Dazu gehören neben Ressourcen die in der WPF existierenden Styles, Trigger und Templates. Mit Letzteren lässt sich das Aussehen von Controls neu definieren. In dieser Gruppe erfahren Sie auch, wie die WPF mit Daten umgeht. In diesem Zusammenhang gehe ich speziell auf das Data Binding ein.
Reichhaltige Medien und eigene Controls
In Teil III lernen Sie, wie Sie mit der WPF 2D- und 3D-Grafiken darstellen und auch dynamisch erzeugen. Sie lernen hier alles, was Sie über das in die WPF integrierte Animationssystem, über die Audio/Video-Unterstützung und über Texte und Dokumente wissen müssen. Die Dokumente in der WPF sind gleichzeitig auch der Schlüssel zum Drucken. Sie lernen aber nicht nur die Medien kennen, sondern erfahren auch, wie Sie eigene Controls entwickeln.
Interoperabilität und Apps
In Teil IV erfahren Sie, wie Sie in Ihrer WPF-Anwendung einen SaveFileDialog nutzen, Ihre Anwendung automatisieren und verteilen und wie Sie die Möglichkeiten der Windows Taskbar in Ihrer Applikation nutzen. Sie lernen auch, wie Sie in Ihrer WPF-Anwendung alte Technologien mittels Interoperabilität einbinden. Zudem erhalten Sie in Teil IV eine Einführung in die Entwicklung von Universal Windows Apps in Windows 10.
Der Inhalt der einzelnen Kapitel
Kapitel 1, »Einführung in die WPF«
Wir beginnen mit einem Überblick über die WPF. Sie erfahren, wie sich die WPF ins .NET Framework eingliedert. Nach einem Blick auf die Geschichte der Windows-Programmierung lernen Sie die technische...