Suchen und Finden
Mehr zum Inhalt
WPF 4.5 und XAML - Grafische Benutzeroberflächen für Windows inkl. Entwicklung von Windows Store Apps
Geleitwort des Herausgebers
6
Vorwort
18
1?Einführung
20
1.1?Zielgruppe
21
1.2?Voraussetzungen
22
1.2.1?Betriebssysteme
22
1.2.2?Entwicklungsumgebung
23
1.3?Das .NET Framework 4
24
1.4?Das .NET Framework 4.5
24
1.5?Windows Presentation Foundation
25
1.6?Silverlight
27
1.7?Pixel sind tot – es lebe die Vektorgrafik
27
1.8?Der Aufbau dieses Buches
29
1.9?Die ersten Gehversuche
30
2?Extensible Application Markup Language (XAML)
36
2.1?Trennung von Code und Oberfläche
36
2.2?Serialisierung
37
2.3?Baumstruktur
38
2.4?Namensräume
41
2.5?Eigenschaftselemente
44
2.6?Dependency Properties
46
2.7?Attached Properties
47
2.8?Markup Extensions
50
2.9?Standard-Datentypen
51
2.10?Ereignisse
52
2.11?Automatische Typkonvertierung
53
2.12?Generics
54
2.13?Programmcode
55
2.14?Compiler
57
2.15?Hilfsklassen
58
2.16?Loose XAML
59
3?Layout
62
3.1?Panels für das Layout verwenden
62
3.2?StackPanel
67
3.3?DockPanel
69
3.4?WrapPanel
72
3.5?Grid
73
3.6?UniformGrid
80
3.7?Canvas
81
3.8?VirtualizingStackPanel
82
3.9?Inhalte ausrichten und positionieren
82
3.10?Sichtbarkeit
88
4?Steuerelemente
90
4.1?Eingabeelemente
91
4.1.1?TextBox
91
4.1.2?PasswordBox
93
4.1.3?Button
93
4.1.4?RepeatButton
95
4.1.5?ToggleButton, RadioButton und CheckBox
95
4.2?Auflistungen
97
4.2.1?ListBox
97
4.2.2?ComboBox
98
4.2.3?ListView
99
4.2.4?TreeView
101
4.3?Beschriftungen
101
4.3.1?TextBlock
101
4.3.2?Label
103
4.3.3?Tooltipp
104
4.4?Menüs und Symbolleisten
105
4.4.1?ToolBarTray
105
4.4.2?ToolBar
106
4.4.3?StatusBar
107
4.4.4?Menu
108
4.4.5?Separator
110
4.4.6?ContextMenu
110
4.5?Wertbereiche
110
4.5.1?ProgressBar
111
4.5.2?Slider
112
4.5.3?ScrollBar
113
4.6?Organisation
113
4.6.1?BulletDecorator
113
4.6.2?Border
114
4.6.3?GroupBox
116
4.6.4?Expander
117
4.6.5?Image
117
4.6.6?TabControl
118
4.7?Komplexere Steuerelemente
120
4.7.1?Frame
120
4.7.2?WebBrowser
121
4.7.3?DataGrid
123
4.7.4?RibbonBar
125
5?Anwendungen
128
5.1?Zusammenspiel von Code und XAML
128
5.2?Anwendungsklasse
129
5.2.1?Starten und Beenden einer Anwendung
129
5.2.2?Die Anwendungsklasse erweitern
132
5.2.3?Anwendungsklassen mit XAML definieren
133
5.2.4?Startadresse
134
5.2.5?Splash Screen anzeigen
134
5.3?Fenster
136
5.3.1?Außengrenzen zum Betriebssystem
137
5.3.2?Größe und Position eines Fensters
137
5.3.3?Dialog- und Werkzeugfenster
139
5.3.4?Effektvolle Fenster
141
5.4?Navigierbare Fenster
143
5.4.1?Seiten erstellen
144
5.4.2?Seiten miteinander verknüpfen
145
5.4.3?Frames
149
5.4.4?Dialogseiten mit PageFunction
152
5.5?Ressourcen
156
5.5.1?Orte für die Deklarationen
159
5.5.2?Externe Ressourcen
162
5.5.3?Ressourcen im Programmcode laden
164
5.5.4??Dynamische oder statische Ressourcen?
165
5.6?Ereignisse
166
5.7?Kommandos
169
5.7.1?Routed Commands
171
5.7.2?Unterstützung für Maus und Tastatur
177
5.7.3?Unterstützung im Programmcode
178
5.8?Multithreading
179
5.8.1?Task Parallel Library
179
5.8.2?async- und await-Schlüsselwörter
183
5.8.3?Auflistungen im Nicht-UI-Thread verändern
184
5.9?Das Task-Manager-Syndrom
185
6?Styles
188
6.1?Mit und ohne Styles arbeiten
189
6.2?Explizite Styles definieren
191
6.3?Style Sharing vs. explizite Typen
195
6.4?Styles kaskadieren
197
6.5?Implizite Styles definieren
200
6.6?Explizite und implizite Styles kombinieren
203
6.7?Styles dynamisch zur Laufzeit auswählen
206
6.8?Mit EventSetter auf Ereignisse reagieren
209
6.9?Benutzerinteraktion mittels Trigger
210
6.10?Listen alternieren
216
6.11?Systemvorgaben mit StyleKeys anpassen
217
7?Templates
220
7.1?Templates für Steuerelemente definieren
222
7.2?Eigenschaften berücksichtigen
225
7.3?Inhalte anzeigen
228
7.4?Benutzerinteraktion
229
7.5?Datenbindungen in Templates
232
7.6?Vertragliche Elemente festlegen
234
7.7?Templates für Auflistungen
235
7.8?Vorhandene Templates anpassen
237
7.9?Skins
238
8?Daten und Datenbindungen
242
8.1?Datenzugriff über den Datenkontext
243
8.2?Datenbindungen
245
8.2.1?Einfache Datenbindungen
245
8.2.2?Daten formatieren
248
8.2.3?Bindungsrichtung festlegen
249
8.2.4?Änderungen verfolgen
251
8.2.5?Datenbindungen gruppieren
254
8.2.6?Daten mit Transaktionen bearbeiten
256
8.2.7?Auflistungen und ihre Auswahl
258
8.2.8?Ausweichwert festlegen
262
8.2.9?Statische Eigenschaften
263
8.3?DataTemplates
264
8.3.1?DataTemplates definieren
265
8.3.2?Implizite Data Templates
268
8.3.3?Templates dynamisch zur Laufzeit auswählen
268
8.3.4?Trigger
270
8.3.5?ItemsControl und ContentControl als Alternativen
272
8.4?Daten konvertieren
274
8.5?Mehrfache Datenbindung
278
8.6?Datenquellen
281
8.6.1?Alternativen zum Datenkontext
281
8.6.2?Statische Werte
283
8.6.3?ObjectDataProvider
283
8.6.4?XmlDataProvider
288
8.6.5?Datenquellen direkt anbinden
293
8.7?Langsame Daten
295
8.8?Steuerelemente als Datenquelle nutzen
299
8.8.1?Steuerelemente über den Namen verbinden
300
8.8.2?Relative Bezüge
302
8.9?Navigation
304
8.9.1?Master-/Detail-Ansicht
304
8.9.2?Sortieren
309
8.9.3?Gruppieren
310
8.9.4?Filtern
312
8.9.5?CollectionView
313
8.10?Validierung
314
8.10.1?Validierungsregeln
314
8.10.2?Validierung mehrerer Datenbindungen
317
Validierung mittels Geschäftslogik
319
8.10.4?Position der Validierung festlegen
321
8.10.5?Fehler mit eigenen Templates anzeigen
322
8.11?Diagnostik
323
8.11.1?Ausgabefenster
323
8.11.2?TraceLevel
324
8.11.3?Konverter
326
9?2D-Grafik und Multimedia
328
9.1?Text
328
9.1.1?Schriftart
328
9.1.2?Standardschriftart festlegen
330
9.1.3?Textdarstellung
333
9.2?Pinsel
334
9.2.1?SolidColorBrush
336
9.2.2?GradientBrush
338
9.2.3?TileBrush
342
9.3?Shapes
349
9.4?Linien
355
9.5?Zeichnungen
359
9.5.1?Geometrische Formen
360
9.5.2?Pfade und Pfadsegmente
365
9.5.3?Die Path-Markup-Sprache
370
9.6?Bilder
372
9.6.1?72 vs. 96 DPI
372
9.6.2?Bildquellen
373
9.7?Transparenzen
376
9.7.1?Opacity
376
9.7.2?Maskierungen
378
9.7.3?Ausstanzungen
379
9.4?Transformationen
380
9.8.1?Scale
383
9.8.2?Rotate
385
9.8.3?Skew
386
9.8.4?Translate
387
9.8.5?TransformGroup
387
9.8.6?MatrixTransform
388
9.9?Bitmap-Effekte
390
9.10?Effekte
390
9.10.1?Blur
391
9.10.2?DropShadow
391
9.10.3?Eigene Effekte entwickeln
391
9.11?Multimedia
394
10?3D-Grafik
398
10.1?Konzept
399
10.1.1?Das 3D-Koordinatensystem
400
10.1.2?Kamera
401
10.1.3?Licht
403
10.2?3D-Modelle
406
10.3?Materialien und Texturen
413
10.3.1?Materialien
413
10.3.2?Vorder- und Rückseite
415
10.3.3?Texturen
416
10.4?Transformationen
419
11?Animationen
424
11.1?Eine einfache Animation erstellen
426
11.2?Koordination über Storyboards
433
11.3?Steuerung über Trigger
438
11.4?Schlüsselbildanimationen
444
11.5?Animationen mit Pfaden
450
11.6?Easing
452
11.7?Visual State Manager
454
11.8?Steuerung von Multimedia-Elementen
458
12?Eigene Steuerelemente und XAML-Erweiterungen
462
12.1?Benutzerdefinierte Steuerelemente
462
12.2?Eigenschaften und Ereignisse
464
12.2.1?Dependency Properties erstellen
465
12.2.2?Attached Properties erstellen
472
12.2.3?Routed Events erstellen
474
12.3?Custom Controls
476
12.3.1?FrameworkElement als Basisklasse
477
12.3.2?Control als Basisklasse
482
12.4?XAML-Erweiterungen
489
12.4.1?Namensräume
489
12.4.2?Markup Extensions
491
13?Eingabesteuerung
494
13.1?Tastatur
494
13.1.1?Tastaturfokus
494
13.1.2?Fokussteuerung
498
13.1.3?Eingaben
500
13.1.4?Kommandos
501
13.2?Maus
501
13.2.1?Mauszeiger
501
13.2.2?Eingaben
503
13.2.3?Hit-Testing
504
13.2.4?Kommandos
505
13.3?Drag & Drop
505
13.4?Touchscreen
509
13.4.1?Manipulation
510
13.4.2?Fallstricke
512
14?Interoperabilität
514
14.1?WPF mit Windows Forms
515
14.2?Windows Forms mit WPF
518
14.3?Fenster und ihre Eigentümer
521
14.3.1?WPF öffnet WinForm-Fenster
521
14.3.2?WinForms öffnet WPF-Fenster
522
15?Dokumente und Drucken
524
15.1?Dokumente
524
15.1.1?FlowDocument
525
15.1.2?FixedDocument
538
15.1.3?Steuerelemente
542
15.2?Dokumente mit Anmerkungen versehen
547
15.3?Drucken
550
15.3.1?Visuals drucken
551
15.3.2?Dokumente drucken
554
15.3.3?Seitenweise drucken
556
16?Mehrsprachigkeit
560
16.1?Globalisierung vs. Lokalisierung
561
16.1.1?Globalisierung
561
16.1.2?Lokalisierung
563
16.2?Layout vorbereiten
564
16.3?Oberflächen lokalisieren
566
16.3.1?Standardsprache für das Projekt setzen
568
16.3.2?Attribut setzen
569
16.3.3?Ressource-Dateien anlegen
569
16.3.4?Oberfläche anpassen
571
16.3.5?Sprache auswählen
573
16.4?Programmcode lokalisieren
573
16.5?Enumerationen übersetzen
574
17?Browseranwendungen
576
17.1?Eine XBAP-Anwendung erstellen
577
17.2?Verteilung
579
17.3?Navigation
580
17.4?Sicherheit
583
17.5?Zugriff auf Ressourcen
592
17.6?Webservices
596
17.7?Alternativen
599
18?Model-View-ViewModel-(MVVM-)Entwurfsmuster
602
18.1?Die Mitspieler
602
18.2?Funktionalität mittels Kommandos
607
18.3?Multithreading im ViewModel
611
18.4?Das Henne-Ei-Problem: View oder ViewModel?
614
18.4.1?Zuerst die View
614
18.4.2?Zuerst das ViewModel
616
18.5?Orientierungshilfe
619
18.6?Design-Time-Unterstützung
621
18.7?Grenzen und Nachteile von MVVM
625
18.8?Weitere Schritte
626
19?Anwendungen für Windows 8
630
19.1?Erste Schritte
632
19.1.1?Projektvorlagen
633
19.1.2?Projektrundflug
633
19.1.3?Entwicklerlizenz
634
19.1.4?Bedienung
635
19.1.5?Blick hinter die Kulissen
638
19.2?Unterschiede
639
19.2.1?Eine Datei auslesen
640
19.3?Steuerelemente
641
19.3.1?FlipView
641
19.3.2?ProgressRing
643
19.3.3?ToggleSwitch
643
19.4?Anwendungsleisten
643
19.5?Animationen
644
19.5.1?Animationsbibliothek
645
19.5.2?Eigene Animationen
648
19.6?Kachel-Informationen
649
19.6.1?Der Startbildschirm
649
19.6.2?Kachel-Information erstellen
650
19.6.3?Badges
654
19.7?Hintergrundaufgaben
656
19.7.1?Eine Hintergrundaufgabe erstellen
657
19.7.2?Anwendungen auf dem Sperrbildschirm
661
19.7.3?Allgemeines
664
19.8?Status der Anwendung speichern
665
19.9?Komponenten
669
20?Installation und Verteilung
670
20.1?XCopy
671
20.2?ClickOnce
671
20.3?Windows Installer XML (WiX)
675
20.4?InstallShield Limited Edition
680
20.5?Nullsoft Scriptable Install System
682
21?Expression Blend
686
21.1?Der erste Start
686
21.2?Werkzeuge
688
21.3?Dokumentenstruktur
688
21.4?Eigenschaften verändern
689
21.5?Ressourcen verwalten
691
21.6?Neue Elemente hinzufügen
692
21.7?Zeichnungen
694
21.8?Animationen
695
Index
700
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.