Beschreibung
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
Rezension
»Huber erklärt so ziemlich alles, was man als Entwickler wissen muss. «
Inhalt
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.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.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.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.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.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.1 ... Die Keyplayer ... 404
7.2 ... Dependency Properties ... 406
7.3 ... Attached Properties ... 431
7.4 ... Zusammenfassung ... 441
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.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
10.1 ... Logische Ressourcen ... 535
10.2 ... Binäre Ressourcen ... 558
10.3 ... Zusammenfassung ... 571
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.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
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.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.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.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.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.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
19.1 ... Standard-Dialoge ... 1123
19.2 ... Integration in die Windows Taskbar ... 1125
19.3 ... Deployment ... 1140
19.4 ... Zusammenfassung ... 1141
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.1 ... Einführung ... 1177
21.2 ... Die FriendViewer-App erstellen ... 1182
21.3 ... Zusammenfassung ... 1194