Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
1 Einführung
15
1.1 Vorteile der WPF
15
1.1.1 Grafik in der WPF
16
1.2 Aufbau des Buchs
16
1.3 Visual Studio 2012
17
1.3.1 Ein neues Projekt
18
1.4 Kaxaml
19
1.5 XAML und C# bzw. VB
19
1.6 Danksagung
19
2 XAML und WPF
21
2.1 Dokumentstruktur
21
2.2 Property Elements
23
2.3 Dependency Properties
24
2.4 Attached Properties
25
2.5 Markup Extensions
26
2.6 Routed Events
27
2.7 Attached Events
29
3 Layout
31
3.1 Canvas
32
3.1.1 Positionierung
32
3.1.2 Elemente neu erzeugen
34
3.1.3 Layout-Hierarchie
35
3.2 StackPanel
37
3.2.1 Elemente neu erzeugen
38
3.3 WrapPanel
39
3.3.1 Elemente neu erzeugen
41
3.3.2 Vertikale Orientierung
41
3.4 DockPanel
42
3.4.1 DockPanel in Hierarchie
43
3.4.2 Elemente neu erzeugen
44
3.5 Grid
45
3.5.1 Elemente neu erzeugen
46
3.5.2 Elemente über mehrere Zellen
48
3.5.3 Größe der Zellen festlegen
49
3.5.4 Die Größe der Zellen flexibel gestalten
51
3.6 Layout-Kombination
53
4 Steuerelemente
55
4.1 Allgemeiner Aufbau
55
4.1.1 Größe, Schrift, Farbe, Bedienung per Tastatur
56
4.1.2 Sichtbarkeit, Bedienbarkeit
58
4.1.3 Elemente mit EventHandler neu erzeugen, Elemente löschen
60
4.1.4 Padding, Innenabstand
61
4.1.5 Margin, Außenabstand
63
4.1.6 Alignment, Ausrichtung
65
4.2 Schalter
66
4.2.1 Button
66
4.2.2 RepeatButton
68
4.2.3 ToggleButton und CheckBox
69
4.2.4 RadioButton
71
4.2.5 Auswahl einstellen
74
4.3 Text und Beschriftung
74
4.3.1 Label
74
4.3.2 TextBlock
76
4.3.3 ToolTip
79
4.3.4 TextBox
81
4.3.5 PasswordBox
83
4.3.6 RichTextBox
84
4.4 Auswahl
85
4.4.1 ListBox, Einzel-Auswahl
85
4.4.2 ListBox, Mehrfach-Auswahl
89
4.4.3 ComboBox
92
4.4.4 TreeView
94
4.5 Zahlenwerte
101
4.5.1 ProgressBar
101
4.5.2 Slider
105
4.5.3 ScrollBar
108
4.6 Container
109
4.6.1 Border
109
4.6.2 GroupBox
112
4.6.3 Expander
113
4.6.4 TabControl
116
4.7 Menüs und Leisten
118
4.7.1 Hauptmenü
118
4.7.2 Kontextmenü
121
4.7.3 Symbolleiste
123
4.7.4 Statusleiste
126
4.8 Datum
128
4.8.1 Calendar
128
4.8.2 DatePicker
133
4.9 Weitere Elemente
134
4.9.1 Image
134
4.9.2 WebBrowser
136
5 Ereignisse und Kommandos
139
5.1 Tastatur
139
5.1.1 Anzeige der Tastaturinformationen
139
5.1.2 Steuerung durch Tasten
141
5.2 Maus
142
5.2.1 Anzeige der Mausinformationen
142
5.3 Eingabestift
145
5.4 Touchscreen
147
5.5 Kommandos
152
5.5.1 Eingebaute Kommandos
152
5.5.2 Kommandos mit Eingabegesten verbinden
155
5.5.3 Eigene Kommandos
157
6 Anwendungen
161
6.1 Allgemeiner Aufbau
161
6.1.1 Einfache Anwendung
161
6.1.2 Anwendung mit Steuerelement
163
6.1.3 Reihenfolge der Ereignisse
164
6.1.4 Aufruf von der Kommandozeile
167
6.2 Ressourcen
170
6.2.1 Physische Ressourcen
170
6.2.2 Logische Ressourcen
173
6.3 Fenster
176
6.3.1 Eigenschaften und Ereignisse von Fenstern
176
6.3.2 Eigene Dialogfelder
180
6.4 Navigation mit Seiten
183
6.4.1 Eine Reihe von Seiten
183
6.4.2 Frame mit Unterseiten
187
6.5 Gadgets
190
6.6 Browseranwendung
192
6.7 Ribbonanwendung
194
7 Vorlagen
201
7.1 Styles
201
7.1.1 Benannte Styles
202
7.1.2 Typ-Styles
205
7.1.3 Vererbung benannter Styles
206
7.1.4 Vererbung von Typ-Styles
207
7.1.5 Verwandte Steuerelement-Typen
208
7.1.6 EventSetter
210
7.2 Property Trigger
212
7.2.1 Einfache Property Trigger
212
7.2.2 Multi-Trigger
213
7.3 Control Templates
215
7.3.1 Ein erstes Control Template
215
7.3.2 Control Template mit Trigger
216
7.3.3 Control Template mit Bindung
218
7.3.4 Control Template in Typ-Style
219
7.4 Skins
221
8 Daten
225
8.1 Datenbindung
225
8.1.1 Setzen und Lösen einer Bindung
225
8.1.2 Richtung und Zeitpunkt einer Bindung
227
8.2 Validierung
230
8.3 Datenquellen
232
8.3.1 Ein Objekt als Datenquelle
232
8.3.2 Kontext einer Datenbindung
234
8.3.3 Auflistung von Objekten
235
8.3.4 Object Data Provider
238
8.3.5 Datenbank
239
8.4 DataGrid
241
8.4.1 Einfacher Aufbau
241
8.4.2 Standard-Einstellungen
243
8.4.3 Weitere Spaltentypen
244
8.5 DataTemplates
246
8.6 DataTrigger
248
9 2D-Grafik
251
9.1 Shapes
251
9.1.1 Rechtecke und Ellipsen
252
9.1.2 Linie
254
9.1.3 Polygon und Polylinie
256
9.1.4 Linienende
257
9.2 Geometrien
259
9.2.1 Einfache geometrische Formen
259
9.2.2 Kombinierte Geometrien
262
9.2.3 Pfadgeometrien für komplexe Formen
264
9.2.4 Pfadgeometrie in Pfadmarkupsyntax
268
9.2.5 Geometriegruppe
268
9.3 Drawings
270
9.4 Pinsel
273
9.4.1 SolidColorBrush
273
9.4.2 LinearGradientBrush
274
9.4.3 RadialGradientBrush
277
9.4.4 ImageBrush
279
9.5 Transformationen
282
9.5.1 RotateTransform mit RenderTransform
283
9.5.2 RotateTransform mit LayoutTransform
285
9.5.3 ScaleTransform
286
9.5.4 SkewTransform
288
9.5.5 TranslateTransform
290
9.5.6 TransformGroup
291
9.6 Transparenz
292
9.6.1 Transparenz mit Opacity und Background
292
9.6.2 Maskierung mit OpacityMask
294
9.6.3 Ausstanzung mit Clip
295
9.7 Effekte
296
9.8 Verzierungen
298
10 3D-Grafik
301
10.1 Allgemeiner Aufbau
301
10.1.1 Koordinatensystem
301
10.1.2 Kamera, Licht und Material
303
10.1.3 Dreieck in XAML
303
10.1.4 Ein Dreieck in Programmcode erzeugen
306
10.1.5 Würfel
308
10.1.6 Gemeinsame Punkte
311
10.2 Kamera
311
10.2.1 Perspektivische Kamera
312
10.2.2 Lage der Kamera
313
10.3 Licht
314
10.4 Modelle
319
10.4.1 Gruppe von 3D-Körpern
319
10.4.2 3D-Körper mit Ereignissen
321
10.4.3 Gruppe von 3D-Körpern mit Ereignissen
323
10.4.4 3D-Körper mit Oberflächengestaltung
324
10.5 Material und Textur
327
10.5.1 Material
327
10.5.2 Textur
329
10.6 Transformationen
332
10.6.1 ScaleTransform3D
333
10.6.2 TranslateTransform3D
334
10.6.3 RotateTransform3D
336
10.6.4 Transform3DGroup
339
10.6.5 Transform3DGroup aus Rotationen
341
10.7 Eine 3D-Landschaft
343
11 Animation
347
11.1 Allgemeiner Aufbau
348
11.1.1 Einfache DoubleAnimation
348
11.1.2 DoubleAnimation, weitere Eigenschaften
351
11.1.3 PointAnimation
354
11.2 Storyboard
355
11.2.1 Storyboard als Ressource
356
11.2.2 Storyboard per Programmcode
358
11.2.3 Storyboard steuern
360
11.2.4 Animierte Transformation
362
11.2.5 ColorAnimation
364
11.3 Event Trigger
365
11.3.1 Event Trigger in Element
365
11.3.2 Event Trigger und Ressourcen
366
11.3.3 Event Trigger in Style
367
11.3.4 Event Trigger zur Steuerung
369
11.4 Animierte 3D-Rotation
371
11.5 Keyframes
374
11.5.1 Keyframes für Double
374
11.5.2 Keyframes für Color
377
11.5.3 KeyFrames für String
378
11.6 Easing Functions
379
11.7 Pfadanimationen
383
12 Audio und Video
387
12.1 Audio
387
12.1.1 SoundPlayer in Programmcode
387
12.1.2 SystemSound
390
12.1.3 SoundPlayer in XAML
391
12.1.4 MediaPlayer für Audio
391
12.1.5 MediaElement für Audio
395
12.2 Video
396
12.2.1 MediaElement für Video
396
12.3 Sprachausgabe
398
12.3.1 Text ausgeben
398
12.3.2 Text zusammensetzen
403
12.4 Spracheingabe
407
12.4.1 Externe Spracherkennung
408
12.4.2 Interne Spracherkennung
410
12.4.3 Steuerung per Spracherkennung
411
13 Dokumente und Drucken
415
13.1 FlowDocument
415
13.1.1 FlowDocumentReader
416
13.1.2 Block-Typ Absatz
418
13.1.3 Block-Typ Abschnitt
420
13.1.4 Block-Typ Liste
422
13.1.5 Block-Typ Tabelle
425
13.1.6 Block-Typ Steuerelement-Container
429
13.1.7 Inlines
431
13.1.8 Inline-Typ Figure
436
13.1.9 FlowDocumentScrollViewer
438
13.1.10 FlowDocumentPageViewer
439
13.1.11 RichTextBox
440
13.2 FixedDocument
443
13.3 Drucken
445
14 Interoperabilität
449
14.1 Windows Forms in WPF
449
14.1.1 Windows Forms-Steuerelemente in WPF
449
14.1.2 Windows Forms-Standard-Dialogfelder in WPF
451
14.2 WPF in Windows Forms
454
14.2.1 WPF-Steuerelemente in Windows Forms
454
14.3 MS Office in WPF
457
14.3.1 Excel-Mappe
458
14.3.2 Word-Dokument
460
15 Windows Store-Apps für Windows 8
463
15.1 Projektvorlagen für Windows Store Apps
463
15.2 Projektvorlage Blank
465
15.3 Steuerelemente
467
15.4 Seitenvorlagen für Windows Store Apps
469
15.5 Eine Reihe von Seiten
470
15.6 Eine geteilte Seite
474
15.7 Seitenvorlage Standardseite
475
15.8 Projektvorlage Grid
478
15.9 Projektvorlage Split
481
15.10 Prüfen einer App
483
Der Autor
485
Index
487