WPF 4.5 und XAML - Grafische Benutzeroberflächen für Windows inkl. Entwicklung von Windows Store Apps

Jörg Wegener, Dr. Holger Schwichtenberg

WPF 4.5 und XAML

Grafische Benutzeroberflächen für Windows inkl. Entwicklung von Windows Store Apps

2012

706 Seiten

Format: PDF, Online Lesen

E-Book: €  39,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446435414

 

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-View­Model-(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

 

© 2009-2021 ciando GmbH