Alles, was Sie über den neuen Standard von Microsoft zur oberflächennahen Programmierung wissen müssen, finden Sie in unserem umfassenden WPF-Kompendium. Neben einer allgemeinen Einführung in das Framework und die Beschreibungssprache XAML erfahren Sie hier auf über 1200 Seiten ausführlich, wie Sie mit der WPF grafische Benutzeroberflächen, 2D- und 3D-Grafiken sowie Animationen entwickeln oder Audio- und Videodateien einbinden. Alle Themen werden angenehm 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 zweite Auflage ist aktuell zu .NET 4.0 und Visual Studio 2010.
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
Browser-Anwendungen
ActiveX & DirectX
Windows Forms/ Win32
Rezensionen / Stimmen
Thomas Claudius Huber setzt sich auf mehr als 1200 Seiten mit dem Thema auseinander. Das Buch unterstützt den Leser als Nachschlagewerk bei der Programmierung, bis man mit WPF sicher umgehen kann.
Reihe
Sprache
Verlagsort
Verlagsgruppe
Editions-Typ
Maße
ISBN-13
978-3-8362-1538-1 (9783836215381)
Schweitzer Klassifikation
... Vorwort ... 21
... Hinweise zum Buch ... 25
TEIL I ... WPF-Grundlagen und Konzepte ... 37
1 ... Einführung in die WPF ... 39
... 1.1 ... Die WPF und das .NET Framework ... 39
... 1.2 ... Von Windows 1.0 zur Windows Presentation Foundation ... 48
... 1.3 ... Die Architektur der WPF ... 52
... 1.4 ... Konzepte ... 59
... 1.5 ... Zusammenfassung ... 75
2 ... Das Programmiermodell ... 77
... 2.1 ... Einführung ... 77
... 2.2 ... Grundlagen der WPF ... 78
... 2.3 ... Projektvorlagen in Visual Studio 2010 ... 87
... 2.4 ... Windows-Projekte mit Visual Studio 2010 ... 91
... 2.5 ... Application, Dispatcher und Window ... 110
... 2.6 ... Zusammenfassung ... 138
3 ... XAML ... 141
... 3.1 ... Einführung ... 141
... 3.2 ... Warum XAML? ... 141
... 3.3 ... Elemente und Attribute ... 144
... 3.4 ... Namespaces ... 145
... 3.5 ... Properties in XAML setzen ... 154
... 3.6 ... Type-Converter ... 159
... 3.7 ... Markup-Extensions ... 168
... 3.8 ... XAML-Spracherweiterungen ... 173
... 3.9 ... Collections in XAML ... 178
... 3.10 ... XamlReader und XamlWriter ... 183
... 3.11 ... Zusammenfassung ... 187
4 ... Der Logical und der Visual Tree ... 189
... 4.1 ... Einleitung ... 189
... 4.2 ... Zur Veranschaulichung verwendete Komponenten ... 192
... 4.3 ... Der Logical Tree ... 195
... 4.4 ... Der Visual Tree ... 215
... 4.5 ... Zusammenfassung ... 230
5 ... Controls ... 233
... 5.1 ... Einleitung ... 233
... 5.2 ... Die Klasse Control ... 236
... 5.3 ... ContentControls ... 238
... 5.4 ... ItemsControls ... 261
... 5.5 ... Controls zur Textdarstellung und -bearbeitung ... 286
... 5.6 ... Datum-Controls ... 293
... 5.7 ... Range-Controls ... 297
... 5.8 ... Sonstige, einfachere Controls ... 300
... 5.9 ... Zusammenfassung ... 306
6 ... Layout ... 309
... 6.1 ... Einleitung ... 309
... 6.2 ... Der Layoutprozess ... 310
... 6.3 ... Layoutfunktionalität von Elementen ... 319
... 6.4 ... Panels ... 338
... 6.5 ... Das Layout von FriendStorage ... 367
... 6.6 ... Zusammenfassung ... 382
7 ... Dependency Properties ... 385
... 7.1 ... Einleitung ... 385
... 7.2 ... Die Keyplayer ... 386
... 7.3 ... Dependency Properties ... 389
... 7.4 ... Attached Properties ... 413
... 7.5 ... Zusammenfassung ... 423
8 ... Routed Events ... 427
... 8.1 ... Einleitung ... 427
... 8.2 ... Die Keyplayer ... 428
... 8.3 ... Eigene Routed Events ... 435
... 8.4 ... Die RoutedEventArgs im Detail ... 448
... 8.5 ... Routed Events der WPF ... 453
... 8.6 ... Zusammenfassung ... 467
9 ... Commands ... 469
... 9.1 ... Einleitung ... 469
... 9.2 ... Die Keyplayer ... 470
... 9.3 ... Eigene Commands mit ICommand ... 472
... 9.4 ... Die »wahren« Keyplayer ... 477
... 9.5 ... Eigene Commands mit der Klasse RoutedUICommand ... 486
... 9.6 ... Built-in-Commands der WPF ... 497
... 9.7 ... Das Model-View-ViewModel-Pattern (MVVM) ... 505
... 9.8 ... Zusammenfassung ... 514
TEIL II ... Fortgeschrittene Techniken ... 517
10 ... Ressourcen ... 519
... 10.1 ... Logische Ressourcen ... 519
... 10.2 ... Binäre Ressourcen ... 541
... 10.3 ... Zusammenfassung ... 566
11 ... Styles, Trigger und Templates ... 569
... 11.1 ... Einleitung ... 569
... 11.2 ... Styles ... 570
... 11.3 ... Trigger ... 584
... 11.4 ... Templates ... 599
... 11.5 ... Styles, Trigger & Templates in FriendStorage ... 632
... 11.6 ... Zusammenfassung ... 639
12 ... Daten ... 643
... 12.1 ... Einleitung ... 643
... 12.2 ... Data Binding ... 644
... 12.3 ... Datenquellen eines Data Bindings ... 660
... 12.4 ... Data Binding an Collections ... 682
... 12.5 ... Benutzereingaben validieren ... 702
... 12.6 ... Das DataGrid ... 720
... 12.7 ... Daten mit DataTemplates visualisieren ... 745
... 12.8 ... Drag & Drop ... 750
... 12.9 ... Daten in FriendStorage ... 754
... 12.10 ... Zusammenfassung ... 769
TEIL III ... Reichhaltige Medien und eigene Controls ... 771
13 ... 2D-Grafik ... 773
... 13.1 ... Einleitung ... 773
... 13.2 ... Shapes ... 774
... 13.3 ... Geometries ... 786
... 13.4 ... Drawings ... 797
... 13.5 ... Programmierung des Visual Layers ... 803
... 13.6 ... Brushes ... 808
... 13.7 ... Cached Compositions ... 821
... 13.8 ... Effekte ... 828
... 13.9 ... Bitmaps ... 843
... 13.10 ... Zusammenfassung ... 846
14 ... 3D-Grafik ... 849
... 14.1 ... Einleitung ... 849
... 14.2 ... 3D im Überblick ... 850
... 14.3 ... Die Objekte einer 3D-Szene im Detail ... 853
... 14.4 ... Benutzerinteraktion mit 3D-Objekten ... 882
... 14.5 ... Komplexe 3D-Objekte ... 887
... 14.6 ... Zusammenfassung ... 892
15 ... Animationen ... 895
... 15.1 ... Einleitung ... 895
... 15.2 ... Animationsgrundlagen ... 896
... 15.3 ... Basis-Animationen in C# ... 904
... 15.4 ... Basis-Animationen in XAML ... 922
... 15.5 ... Keyframe-Animationen ... 933
... 15.6 ... Pfad-Animationen ... 942
... 15.7 ... Easing Functions ... 944
... 15.8 ... Low-Level-Animationen ... 954
... 15.9 ... Zusammenfassung ... 958
16 ... Audio und Video ... 959
... 16.1 ... Einleitung ... 959
... 16.2 ... Audio (.wav) mit SoundPlayerAction und SoundPlayer ... 959
... 16.3 ... Audio und Video mit MediaPlayer (C#) ... 963
... 16.4 ... Audio und Video mit MediaElement (XAML) ... 970
... 16.5 ... Zusammenfassung ... 980
17 ... Eigene Controls ... 983
... 17.1 ... Einleitung ... 983
... 17.2 ... Custom Control ... 984
... 17.3 ... Custom Control mit Visual States ... 1014
... 17.4 ... User Control ... 1021
... 17.5 ... Alternativen zu Custom Control und User Control ... 1028
... 17.6 ... Zusammenfassung ... 1034
18 ... Text und Dokumente ... 1037
... 18.1 ... Einleitung ... 1037
... 18.2 ... Text ... 1038
... 18.3 ... Das Text-Rendering beeinflussen ... 1053
... 18.4 ... Flow-Dokumente ... 1058
... 18.5 ... Annotationen ... 1069
... 18.6 ... XPS-Dokumente (Fixed-Dokumente) ... 1073
... 18.7 ... Drucken ... 1085
... 18.8 ... Dokumente in FriendStorage ... 1090
... 18.9 ... Zusammenfassung ... 1096
TEIL IV ... WPF-Anwendungen und Interoperabilität ... 1099
19 ... Windows, Navigation und XBAP ... 1101
... 19.1 ... Einleitung ... 1101
... 19.2 ... Windows-Anwendungen ... 1102
... 19.3 ... Windows-Anwendungen und die Windows 7-Taskbar ... 1121
... 19.4 ... Navigationsanwendungen ... 1136
... 19.5 ... XBAP-Anwendungen ... 1157
... 19.6 ... Zusammenfassung ... 1162
20 ... Interoperabilität ... 1163
... 20.1 ... Einleitung ... 1163
... 20.2 ... Unterstützte Szenarien und Grenzen ... 1164
... 20.3 ... Windows Forms ... 1166
... 20.4 ... ActiveX in WPF ... 1179
... 20.5 ... Win32 ... 1181
... 20.6 ... Direct3D in WPF ... 1204
... 20.7 ... Zusammenfassung ... 1210
... Index ... 1211