- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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…mehr
Andere Kunden interessierten sich auch für
- Thomas TheisEinstieg in C# mit Visual Studio 202229,90 €
- Jörg WegenerWPF 4.5 und XAML49,90 €
- Andreas KühnelC# 8 mit Visual Studio 201949,90 €
- Thomas TheisEinstieg in Visual Basic mit Visual Studio 202234,90 €
- Bernhard WurmSchrödinger programmiert C Sharp49,90 €
- Matthew MacDonaldPro Wpf in VB 201048,99 €
- Hans-Georg SchumannC# für Kids24,99 €
-
-
-
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:
ProgrammiermodellEinführung in XAMLLogical & Visual TreeControls & LayoutDependency PropertiesRouted Events & CommandsRessourcenStyles, Trigger & TemplatesData Binding2D- & 3D-Grafik, AnimationenAudio & VideoText & DokumenteActiveX & DirectXWindows Forms/Win32Universal Windows Apps
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:
ProgrammiermodellEinführung in XAMLLogical & Visual TreeControls & LayoutDependency PropertiesRouted Events & CommandsRessourcenStyles, Trigger & TemplatesData Binding2D- & 3D-Grafik, AnimationenAudio & VideoText & DokumenteActiveX & DirectXWindows Forms/Win32Universal Windows Apps
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Verlag
- Artikelnr. des Verlages: 459/07201
- 5., überarb. Aufl.
- Seitenzahl: 1218
- Erscheinungstermin: 1. Oktober 2019
- Deutsch
- Abmessung: 246mm x 207mm x 66mm
- Gewicht: 2387g
- ISBN-13: 9783836272018
- ISBN-10: 3836272016
- Artikelnr.: 56873483
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- Rheinwerk Computing
- Verlag: Rheinwerk Verlag
- Artikelnr. des Verlages: 459/07201
- 5., überarb. Aufl.
- Seitenzahl: 1218
- Erscheinungstermin: 1. Oktober 2019
- Deutsch
- Abmessung: 246mm x 207mm x 66mm
- Gewicht: 2387g
- ISBN-13: 9783836272018
- ISBN-10: 3836272016
- Artikelnr.: 56873483
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
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.
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
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
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
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