Huber | Windows Presentation Foundation | E-Book | sack.de
E-Book

E-Book, Deutsch, 1218 Seiten

Reihe: Rheinwerk Computing

Huber Windows Presentation Foundation

Das umfassende Handbuch
5. Auflage 2019
ISBN: 978-3-8362-7203-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Das umfassende Handbuch

E-Book, Deutsch, 1218 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-7203-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Alles, was Sie über den Standard von Microsoft zur oberflächennahen Programmierung wissen müssen, finden Sie in unserem umfassenden WPF-Kompendium. Nach einer Einführung in das Framework und die Beschreibungssprache XAML erfahren Sie hier auf über 1.200 Seiten, wie Sie mit der WPF grafische Benutzeroberflächen, 2D- und 3D-Grafiken sowie Animationen entwickeln oder Audio- und Videodateien einbinden. Alle Themen werden verständlich und anschaulich anhand realistischer Anwendungsbeispiele dargestellt, so dass Ihnen die Umsetzung eigener WPF-Applikationen problemlos gelingen wird.
Das Buch richtet sich an Entwickler mit Vorkenntnissen in C# und .NET und eignet sich sowohl zum Einstieg in die Thematik als auch als Nachschlagewerk für die tägliche Arbeit. Die fünfte Auflage ist aktuell zu .NET Core 3, NET 4.8 und Visual Studio 2019.

Aus dem Inhalt:

  • Programmiermodell
  • Einführung in XAML
  • Logical & Visual Tree
  • Controls & Layout
  • Dependency Properties
  • Routed Events & Commands
  • Ressourcen
  • Styles, Trigger & Templates
  • Data Binding
  • 2D- & 3D-Grafik, Animationen
  • Audio & Video
  • Text & Dokumente
  • ActiveX & DirectX
  • Windows Forms/Win32
  • Universal Windows Apps


Thomas Claudius Huber ist Senior-Architekt, Entwickler, Berater und Trainer für Microsoft-Technologien. Zudem ist er Microsoft Certified Trainer und Microsoft Certified Professional Developer. Als Diplom-Wirtschaftsinformatiker spezialisierte sich Thomas Claudius Huber auf die Konzeption und Realisierung von mehrschichtigen Unternehmensanwendungen mit .NET. Die Entwicklung der Präsentationsschicht faszinierte ihn dabei schon immer. Deshalb setzt er sich seit der ersten Stunde mit GUI-Technologien wie der Windows Presentation Foundation (WPF) und Silverlight auseinander. Derzeit arbeitet Thomas Claudius Huber als Senior Consultant beim Schweizer Unternehmen Trivadis AG. Auf seiner Website bloggt er zum Thema .NET.
Huber Windows Presentation Foundation jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Materialien zum Buch ... 25  Vorwort ... 27  Hinweise zum Buch ... 31

TEIL I  WPF-Grundlagen und -Konzepte ... 41  1.  Einführung in die WPF ... 43  1.1 ... Die WPF und .NET ... 43  1.2 ... Von Windows 1.0 zur Windows Presentation Foundation ... 50  1.3 ... Die Architektur der WPF ... 53  1.4 ... Konzepte ... 59  1.5 ... Zusammenfassung ... 74  2.  Das Programmiermodell ... 77  2.1 ... Grundlagen der WPF ... 78  2.2 ... Projektvorlagen in Visual Studio 2019 ... 87  2.3 ... Windows-Projekte mit Visual Studio 2019 ... 92  2.4 ... Application, Dispatcher und Window ... 109  2.5 ... Zusammenfassung ... 139  3.  XAML ... 143  3.1 ... XAML? ... 143  3.2 ... Elemente und Attribute ... 145  3.3 ... Namespaces ... 147  3.4 ... Properties in XAML setzen ... 155  3.5 ... Type-Converter ... 160  3.6 ... Markup-Extensions ... 169  3.7 ... XAML-Spracherweiterungen ... 175  3.8 ... Collections in XAML ... 181  3.9 ... XamlReader und XamlWriter ... 185  3.10 ... Zusammenfassung ... 189  4.  Der Logical und der Visual Tree ... 193  4.1 ... Zur Veranschaulichung verwendete Komponenten ... 196  4.2 ... Der Logical Tree ... 199  4.3 ... Der Visual Tree ... 220  4.4 ... Der Live Visual Tree in Visual Studio 2019 ... 235  4.5 ... Zusammenfassung ... 240  5.  Controls ... 243  5.1 ... Die Klasse »Control« ... 246  5.2 ... ContentControls ... 248  5.3 ... ItemsControls ... 271  5.4 ... Controls zur Textdarstellung und -bearbeitung ... 302  5.5 ... Datum-Controls ... 307  5.6 ... Range-Controls ... 312  5.7 ... Sonstige, einfachere Controls ... 315  5.8 ... Zusammenfassung ... 321  6.  Layout ... 323  6.1 ... Der Layoutprozess ... 323  6.2 ... Layoutfunktionalität von Elementen ... 333  6.3 ... Panels ... 354  6.4 ... Das Layout von FriendStorage ... 385  6.5 ... Zusammenfassung ... 401  7.  Dependency Properties ... 403  7.1 ... Die Keyplayer ... 404  7.2 ... Dependency Properties ... 406  7.3 ... Attached Properties ... 431  7.4 ... Zusammenfassung ... 441  8.  Routed Events ... 445  8.1 ... Die Keyplayer ... 446  8.2 ... Eigene Routed Events ... 453  8.3 ... Die »RoutedEventArgs« im Detail ... 466  8.4 ... Routed Events der WPF ... 471  8.5 ... Zusammenfassung ... 485  9.  Commands ... 487  9.1 ... Die Keyplayer ... 488  9.2 ... Eigene Commands mit »ICommand« ... 490  9.3 ... Die »wahren« Keyplayer ... 495  9.4 ... Eigene Commands mit der Klasse »RoutedUICommand« ... 504  9.5 ... Built-in-Commands der WPF ... 514  9.6 ... Das Model-View-ViewModel-Pattern (MVVM) ... 523  9.7 ... Zusammenfassung ... 531

TEIL II  Fortgeschrittene Techniken ... 533

10.  Ressourcen ... 535  10.1 ... Logische Ressourcen ... 535  10.2 ... Binäre Ressourcen ... 558  10.3 ... Zusammenfassung ... 571

11.  Styles, Trigger und Templates ... 573  11.1 ... Styles ... 573  11.2 ... Trigger ... 588  11.3 ... Templates ... 603  11.4 ... Styles, Trigger und Templates in FriendStorage ... 637  11.5 ... Zusammenfassung ... 645

12.  Daten ... 647  12.1 ... Data Binding ... 648  12.2 ... Datenquellen eines Data Bindings ... 666  12.3 ... Data Binding an Collections ... 692  12.4 ... Benutzereingaben validieren ... 716  12.5 ... Das DataGrid ... 737  12.6 ... Daten mit DataTemplates visualisieren ... 762  12.7 ... Drag-&-Drop ... 767  12.8 ... Daten in FriendStorage ... 771  12.9 ... Zusammenfassung ... 787

TEIL III  Reichhaltige Medien und eigene Controls ... 789

13.  2D-Grafik ... 791  13.1 ... Shapes ... 792  13.2 ... Geometries ... 804  13.3 ... Drawings ... 816  13.4 ... Programmierung des Visual Layers ... 823  13.5 ... Brushes ... 828  13.6 ... Cached Compositions ... 841  13.7 ... Effekte ... 848  13.8 ... Bitmaps ... 863  13.9 ... Zusammenfassung ... 866

14.  3D-Grafik ... 869  14.1 ... 3D im Überblick ... 870  14.2 ... Die Objekte einer 3D-Szene im Detail ... 873  14.3 ... Benutzerinteraktion mit 3D-Objekten ... 903  14.4 ... Komplexe 3D-Objekte ... 908  14.5 ... Zusammenfassung ... 913

15.  Animationen ... 915  15.1 ... Animationsgrundlagen ... 916  15.2 ... Basis-Animationen in C# ... 924  15.3 ... Basis-Animationen in XAML ... 943  15.4 ... Keyframe-Animationen ... 955  15.5 ... Pfad-Animationen ... 963  15.6 ... Easing Functions ... 966  15.7 ... Low-Level-Animationen ... 976  15.8 ... Zusammenfassung ... 980

16.  Audio und Video ... 981  16.1 ... Audio (.wav) mit »SoundPlayerAction« und »SoundPlayer« ... 981  16.2 ... Audio und Video mit »MediaPlayer« (C#) ... 985  16.3 ... Audio und Video mit »MediaElement« (XAML) ... 991  16.4 ... Zusammenfassung ... 1001

17.  Eigene Controls ... 1003  17.1 ... Custom Controls ... 1004  17.2 ... Custom Control mit Visual States ... 1035  17.3 ... User Control ... 1042  17.4 ... Alternativen zu Custom Control und User Control ... 1049  17.5 ... Zusammenfassung ... 1056

18.  Text und Dokumente ... 1059  18.1 ... Text ... 1060  18.2 ... Das Text-Rendering beeinflussen ... 1075  18.3 ... Flow-Dokumente ... 1080  18.4 ... Annotationen ... 1091  18.5 ... XPS-Dokumente (Fixed-Dokumente) ... 1096  18.6 ... Drucken ... 1107  18.7 ... Dokumente in FriendStorage ... 1112  18.8 ... Zusammenfassung ... 1119

TEIL IV  Interoperabilität und Apps ... 1121

19.  Standard-Dialoge, Windows Taskbar und mehr ... 1123  19.1 ... Standard-Dialoge ... 1123  19.2 ... Integration in die Windows Taskbar ... 1125  19.3 ... Deployment ... 1140  19.4 ... Zusammenfassung ... 1141

20.  Interoperabilität ... 1143  20.1 ... Unterstützte Szenarien und Grenzen ... 1144  20.2 ... Windows Forms ... 1146  20.3 ... ActiveX in WPF ... 1159  20.4 ... Win32 ... 1162  20.5 ... Zusammenfassung ... 1176

21.  Universal Windows Apps und WinUI ... 1177  21.1 ... Einführung ... 1177  21.2 ... Die FriendViewer-App erstellen ... 1182  21.3 ... Zusammenfassung ... 1194  Index ... 1195


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:

  1. 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.

  2. 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.

  3. 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.

  4. 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...


Huber, Thomas Claudius
Thomas Claudius Huber ist Senior-Architekt, Entwickler, Berater und Trainer für Microsoft-Technologien. Zudem ist er Microsoft Certified Trainer und Microsoft Certified Professional Developer. Als Diplom-Wirtschaftsinformatiker spezialisierte sich Thomas Claudius Huber auf die Konzeption und Realisierung von mehrschichtigen Unternehmensanwendungen mit .NET. Die Entwicklung der Präsentationsschicht faszinierte ihn dabei schon immer. Deshalb setzt er sich seit der ersten Stunde mit GUI-Technologien wie der Windows Presentation Foundation (WPF) und Silverlight auseinander. Derzeit arbeitet Thomas Claudius Huber als Senior Consultant beim Schweizer Unternehmen Trivadis AG. Auf seiner Website bloggt er zum Thema .NET.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.