Huber | Windows Presentation Foundation | E-Book | www.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 ... ... 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.