Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der...

77
Thomas Theis Einstieg in WPF Grundlagen und Praxis

Transcript of Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der...

Page 1: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Thomas Theis

Einstieg in WPFGrundlagen und Praxis

Page 2: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Auf einen Blick

1 Einführung .......................................................................... 13

2 XAML und WPF .................................................................. 19

3 Layout ................................................................................. 29

4 Steuerelemente ................................................................... 53

5 Ereignisse und Kommandos ............................................... 133

6 Anwendungen ..................................................................... 155

7 Vorlagen .............................................................................. 193

8 Daten .................................................................................. 217

9 2D-Grafik ............................................................................ 241

10 3D-Grafik ............................................................................ 289

11 Animation ........................................................................... 333

12 Audio und Video ................................................................. 371

13 Dokumente und Drucken ................................................... 397

14 Interoperabilität ................................................................. 431

Page 3: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

1 Einführung ..................................................................................... 13

1.1 Vorteile der WPF .................................................................... 131.1.1 Grafik in der WPF ...................................................... 14

1.2 Aufbau des Buchs ................................................................... 141.3 Visual Studio 2010 ................................................................. 15

1.3.1 Ein neues Projekt ...................................................... 161.4 Kaxaml ................................................................................... 171.5 XAML und C# bzw. VB ........................................................... 171.6 Danksagung ............................................................................ 17

2 XAML und WPF ........................................................................... 19

2.1 Dokumentstruktur .................................................................. 192.2 Property Elements .................................................................. 212.3 Dependency Properties ........................................................... 212.4 Attached Properties ................................................................ 232.5 Markup Extensions ................................................................. 242.6 Routed Events ........................................................................ 252.7 Attached Events ..................................................................... 27

3 Layout ............................................................................................ 29

3.1 Canvas .................................................................................... 303.1.1 Positionierung ........................................................... 303.1.2 Elemente neu erzeugen ............................................. 323.1.3 Layout-Hierarchie ...................................................... 33

3.2 StackPanel .............................................................................. 353.2.1 Elemente neu erzeugen ............................................. 36

3.3 WrapPanel .............................................................................. 373.3.1 Elemente neu erzeugen ............................................. 383.3.2 Vertikale Orientierung ............................................... 38

3.4 DockPanel .............................................................................. 393.4.1 DockPanel in Hierarchie ............................................ 403.4.2 Elemente neu erzeugen ............................................. 41

3.5 Grid ........................................................................................ 423.5.1 Elemente neu erzeugen ............................................. 433.5.2 Elemente über mehrere Zellen ................................... 45

5

Page 4: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

3.5.3 Größe der Zellen festlegen ........................................ 463.5.4 Die Größe der Zellen flexibel gestalten ...................... 47

3.6 Layout-Kombination ............................................................... 49

4 Steuerelemente ............................................................................ 53

4.1 Allgemeiner Aufbau ................................................................ 534.1.1 Größe, Schrift, Farbe, Bedienung per Tastatur ............ 544.1.2 Sichtbarkeit, Bedienbarkeit ....................................... 564.1.3 Elemente mit EventHandler neu erzeugen,

Elemente löschen ...................................................... 574.1.4 Padding, Innenabstand .............................................. 594.1.5 Margin, Außenabstand .............................................. 614.1.6 Alignment, Ausrichtung ............................................ 62

4.2 Schalter .................................................................................. 644.2.1 Button ...................................................................... 644.2.2 RepeatButton ............................................................ 654.2.3 ToggleButton und CheckBox ..................................... 664.2.4 RadioButton .............................................................. 684.2.5 Auswahl einstellen .................................................... 71

4.3 Text und Beschriftung ............................................................. 714.3.1 Label ......................................................................... 714.3.2 TextBlock .................................................................. 734.3.3 ToolTip ..................................................................... 764.3.4 TextBox ..................................................................... 774.3.5 PasswordBox ............................................................. 804.3.6 RichTextBox .............................................................. 80

4.4 Auswahl ................................................................................. 814.4.1 ListBox, Einzel-Auswahl ............................................ 824.4.2 ListBox, Mehrfach-Auswahl ....................................... 854.4.3 ComboBox ................................................................ 884.4.4 TreeView .................................................................. 90

4.5 Zahlenwerte ........................................................................... 974.5.1 ProgressBar ............................................................... 974.5.2 Slider ........................................................................ 1004.5.3 ScrollBar ................................................................... 103

4.6 Container ............................................................................... 1044.6.1 Border ....................................................................... 1044.6.2 GroupBox ................................................................. 1074.6.3 Expander ................................................................... 1084.6.4 TabControl ................................................................ 111

6

Page 5: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

4.7 Menüs und Leisten ................................................................. 1134.7.1 Hauptmenü ............................................................... 1134.7.2 Kontextmenü ............................................................ 1164.7.3 Symbolleiste .............................................................. 1184.7.4 Statusleiste ................................................................ 121

4.8 Datum .................................................................................... 1224.8.1 Calendar .................................................................... 1224.8.2 DatePicker ................................................................ 126

4.9 Weitere Elemente ................................................................... 1274.9.1 Image ........................................................................ 1284.9.2 WebBrowser ............................................................. 130

5 Ereignisse und Kommandos ...................................................... 133

5.1 Tastatur .................................................................................. 1335.1.1 Anzeige der Tastaturinformationen ............................ 1335.1.2 Steuerung durch Tasten ............................................. 135

5.2 Maus ...................................................................................... 1365.2.1 Anzeige der Mausinformationen ................................ 136

5.3 Eingabestift ............................................................................ 1395.4 Touchscreen ........................................................................... 1415.5 Kommandos ........................................................................... 145

5.5.1 Eingebaute Kommandos ............................................ 1465.5.2 Kommandos mit Eingabegesten verbinden ................ 1495.5.3 Eigene Kommandos ................................................... 150

6 Anwendungen ............................................................................... 155

6.1 Allgemeiner Aufbau ................................................................ 1556.1.1 Einfache Anwendung ................................................. 1556.1.2 Anwendung mit Steuerelement ................................. 1576.1.3 Reihenfolge der Ereignisse ......................................... 1586.1.4 Aufruf von der Kommandozeile ................................. 161

6.2 Ressourcen ............................................................................. 1646.2.1 Physische Ressourcen ................................................ 1646.2.2 Logische Ressourcen ................................................. 166

6.3 Fenster ................................................................................... 1696.3.1 Eigenschaften und Ereignisse von Fenstern ................ 1696.3.2 Eigene Dialogfelder ................................................... 173

6.4 Navigation mit Seiten ............................................................. 1756.4.1 Eine Reihe von Seiten ................................................ 176

7

Page 6: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

6.4.2 Frame mit Unterseiten .............................................. 1806.5 Gadgets .................................................................................. 1826.6 Browseranwendung ................................................................ 1846.7 Ribbonanwendung ................................................................. 186

7 Vorlagen ........................................................................................ 193

7.1 Styles ..................................................................................... 1937.1.1 Benannte Styles ......................................................... 1947.1.2 Typ-Styles ................................................................. 1977.1.3 Vererbung benannter Styles ...................................... 1987.1.4 Vererbung von Typ-Styles ......................................... 1997.1.5 Verwandte Steuerelement-Typen .............................. 2007.1.6 EventSetter ............................................................... 202

7.2 Property Trigger ..................................................................... 2047.2.1 Einfache Property Trigger .......................................... 2047.2.2 Multi-Trigger ............................................................ 205

7.3 Control Templates .................................................................. 2077.3.1 Ein erstes Control Template ...................................... 2077.3.2 Control Template mit Trigger .................................... 2087.3.3 Control Template mit Bindung .................................. 2097.3.4 Control Template in Typ-Style ................................... 211

7.4 Skins ...................................................................................... 212

8 Daten .............................................................................................. 217

8.1 Datenbindung ........................................................................ 2178.1.1 Setzen und Lösen einer Bindung ............................... 2178.1.2 Richtung und Zeitpunkt einer Bindung ...................... 219

8.2 Validierung ............................................................................. 2228.3 Datenquellen ......................................................................... 224

8.3.1 Ein Objekt als Datenquelle ........................................ 2248.3.2 Kontext einer Datenbindung ..................................... 2268.3.3 Auflistung von Objekten ........................................... 2278.3.4 Object Data Provider ................................................ 2298.3.5 Datenbank ................................................................ 230

8.4 DataGrid ................................................................................ 2328.4.1 Einfacher Aufbau ....................................................... 2328.4.2 Standard-Einstellungen ............................................. 2348.4.3 Weitere Spaltentypen ............................................... 235

8

Page 7: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

8.5 DataTemplates ....................................................................... 2378.6 DataTrigger ............................................................................ 238

9 2D-Grafik ....................................................................................... 241

9.1 Shapes .................................................................................... 2419.1.1 Rechtecke und Ellipsen .............................................. 2429.1.2 Linie .......................................................................... 2449.1.3 Polygon und Polylinie ................................................ 2459.1.4 Linienende ................................................................ 247

9.2 Geometrien ............................................................................ 2489.2.1 Einfache geometrische Formen .................................. 2499.2.2 Kombinierte Geometrien ........................................... 2519.2.3 Pfadgeometrien für komplexe Formen ....................... 2539.2.4 Pfadgeometrie in Pfadmarkupsyntax .......................... 2579.2.5 Geometriegruppe ...................................................... 258

9.3 Drawings ................................................................................ 2599.4 Pinsel ..................................................................................... 262

9.4.1 SolidColorBrush ......................................................... 2629.4.2 LinearGradientBrush .................................................. 2639.4.3 RadialGradientBrush .................................................. 2659.4.4 ImageBrush ............................................................... 267

9.5 Transformationen ................................................................... 2709.5.1 RotateTransform mit RenderTransform ...................... 2719.5.2 RotateTransform mit LayoutTransform ....................... 2739.5.3 ScaleTransform .......................................................... 2749.5.4 SkewTransform .......................................................... 2769.5.5 TranslateTransform .................................................... 2779.5.6 TransformGroup ........................................................ 278

9.6 Transparenz ............................................................................ 2809.6.1 Transparenz mit Opacity und Background ................. 2809.6.2 Maskierung mit OpacityMask .................................... 2819.6.3 Ausstanzung mit Clip ................................................. 283

9.7 Effekte .................................................................................... 2849.8 Verzierungen .......................................................................... 286

10 3D-Grafik ....................................................................................... 289

10.1 Allgemeiner Aufbau ................................................................ 28910.1.1 Koordinatensystem ................................................... 28910.1.2 Kamera, Licht und Material ....................................... 291

9

Page 8: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

10.1.3 Dreieck in XAML ....................................................... 29110.1.4 Ein Dreieck in Programmcode erzeugen .................... 29410.1.5 Würfel ...................................................................... 29610.1.6 Gemeinsame Punkte ................................................. 298

10.2 Kamera ................................................................................... 29910.2.1 Perspektivische Kamera ............................................. 29910.2.2 Lage der Kamera ....................................................... 301

10.3 Licht ....................................................................................... 30210.4 Modelle ................................................................................. 306

10.4.1 Gruppe von 3D-Körpern ........................................... 30610.4.2 3D-Körper mit Ereignissen ........................................ 30910.4.3 Gruppe von 3D-Körpern mit Ereignissen ................... 31010.4.4 3D-Körper mit Oberflächengestaltung ....................... 311

10.5 Material und Textur ................................................................ 31310.5.1 Material .................................................................... 31410.5.2 Textur ....................................................................... 316

10.6 Transformationen ................................................................... 31910.6.1 ScaleTransform3D ..................................................... 31910.6.2 TranslateTransform3D ............................................... 32110.6.3 RotateTransform3D ................................................... 32210.6.4 Transform3DGroup ................................................... 32610.6.5 Transform3DGroup aus Rotationen ........................... 327

10.7 Eine 3D-Landschaft ................................................................ 329

11 Animation ...................................................................................... 333

11.1 Allgemeiner Aufbau ................................................................ 33411.1.1 Einfache DoubleAnimation ........................................ 33411.1.2 DoubleAnimation, weitere Eigenschaften ................. 33711.1.3 PointAnimation ......................................................... 340

11.2 Storyboard ............................................................................. 34111.2.1 Storyboard als Ressource ........................................... 34111.2.2 Storyboard per Programmcode .................................. 34311.2.3 Storyboard steuern .................................................... 34511.2.4 Animierte Transformation ......................................... 34711.2.5 ColorAnimation ......................................................... 349

11.3 Event Trigger .......................................................................... 35011.3.1 Event Trigger in Element ........................................... 35011.3.2 Event Trigger und Ressourcen ................................... 351

10

Page 9: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

11.3.3 Event Trigger in Style ................................................. 35211.3.4 Event Trigger zur Steuerung ....................................... 354

11.4 Animierte 3D-Rotation ........................................................... 35611.5 Keyframes ............................................................................... 359

11.5.1 Keyframes für Double ................................................ 35911.5.2 Keyframes für Color ................................................... 36211.5.3 KeyFrames für String ................................................. 363

11.6 Easing Functions ..................................................................... 36411.7 Pfadanimationen .................................................................... 368

12 Audio und Video .......................................................................... 371

12.1 Audio ..................................................................................... 37112.1.1 SoundPlayer in Programmcode .................................. 37112.1.2 SystemSound ............................................................. 37412.1.3 SoundPlayer in XAML ............................................... 37512.1.4 MediaPlayer für Audio .............................................. 37512.1.5 MediaElement für Audio ........................................... 378

12.2 Video ..................................................................................... 38012.2.1 MediaElement für Video ........................................... 380

12.3 Sprachausgabe ........................................................................ 38112.3.1 Text ausgeben ........................................................... 38112.3.2 Text zusammensetzen ............................................... 386

12.4 Spracheingabe ........................................................................ 39012.4.1 Externe Spracherkennung .......................................... 39112.4.2 Interne Spracherkennung .......................................... 39212.4.3 Steuerung per Spracherkennung ................................ 394

13 Dokumente und Drucken ........................................................... 397

13.1 FlowDocument ....................................................................... 39713.1.1 FlowDocumentReader ............................................... 39813.1.2 Block-Typ Absatz ....................................................... 40013.1.3 Block-Typ Abschnitt .................................................. 40213.1.4 Block-Typ Liste .......................................................... 40313.1.5 Block-Typ Tabelle ...................................................... 40713.1.6 Block-Typ Steuerelement-Container .......................... 41013.1.7 Inlines ....................................................................... 41213.1.8 Inline-Typ Figure ....................................................... 417

11

Page 10: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Inhalt

13.1.9 FlowDocumentScrollViewer ...................................... 41913.1.10 FlowDocumentPageViewer ....................................... 42013.1.11 RichTextBox .............................................................. 420

13.2 FixedDocument ...................................................................... 42413.3 Drucken ................................................................................. 426

14 Interoperabilität .......................................................................... 431

14.1 Windows Forms in WPF ......................................................... 43114.1.1 Windows Forms-Steuerelemente in WPF .................. 43114.1.2 Windows Forms-Standard-Dialogfelder in WPF.......... 432

14.2 WPF in Windows Forms ......................................................... 43614.2.1 WPF-Steuerelemente in Windows Forms .................. 436

14.3 MS Office in WPF ................................................................... 43814.3.1 Excel-Mappe ............................................................. 43914.3.2 Word-Dokument ...................................................... 441

Index ........................................................................................................ 445

12

Page 11: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

In diesem ersten Kapitel werden einige grundlegende Begriffe der WPF, der Aufbau des Buchs und die Arbeit mit dem Visual Studio von Microsoft erläutert.

1 Einführung

WPF steht für Windows Presentation Foundation. Es handelt sich dabei um eine2006 gänzlich neu eingeführte Bibliothek von Klassen, die zur Gestaltung vonOberflächen und zur Integration von Multimedia-Komponenten und Animatio-nen dient. Sie vereint die Vorteile von DirectX, Windows Forms, Adobe Flash,HTML und CSS.

1.1 Vorteile der WPF

Der Umstieg auf diese neue Technologie geschieht nur langsam. In der Praxis set-zen Entwickler häufig noch den Vorgänger der WPF, Windows Forms, ein. In die-sem Abschnitt werden einige Eigenschaften und Vorteile der WPF dargestellt.

Die WPF ermöglicht eine verbesserte Gestaltung von Oberflächen. Layout, 3D-Grafiken, Sprachintegration, Animation, Datenzugriff und vieles mehr basierenauf einer einheitlichen Technik. Der Benutzer kann außerdem die Bedienung die-ser Oberflächen schnell und intuitiv erlernen.

Einzelne Elemente oder ganze Oberflächen sind schneller anpassbar und aus-tauschbar. Die Aufgabenbereiche des Designers (Gestaltung der Oberfläche) unddes Entwicklers (Codierung der Abläufe) sind klarer getrennt. So kann die Erstel-lung einer Anwendung in parallelen Schritten erfolgen.

Die WPF wurde gänzlich neu entwickelt; es musste keine Rücksicht auf alte Tech-niken genommen werden. Desktop-Anwendungen können ohne großen Auf-wand auch für die Nutzung im Web umgestellt werden.

WPF-Anwendungen können außer auf die klassischen Medien Maus, Tastaturund Bildschirm auch auf Touchscreen und Digitalisierbrett zugreifen. Sie könnenüber Sprache gesteuert werden und Sprachausgaben erzeugen.

13

Page 12: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Einführung1

Windows Forms ist länger auf dem Markt als die WPF. Daher besitzt es einigeElemente, die in der WPF noch nicht vorliegen. Diese Elemente werden aber innaher Zukunft hinzugefügt. Außerdem haben Sie die Möglichkeit, beide Techni-ken zu vereinen. Sie können Elemente aus Windows Forms in einer WPF-Anwendung unterbringen und umgekehrt. So können Sie die Vorzüge aus beidenWelten nutzen.

1.1.1 Grafik in der WPF

Die WPF nutzt intern DirectX statt des veralteten GDI+, wie es bei WindowsForms der Fall ist. Damit wird die Darstellung hardwarebeschleunigt. 2D- und3D-Grafiken haben mehr Möglichkeiten und sind schneller.

Es wird Vektorgrafik statt Pixelgrafik verwendet. Damit ist eine Anwendung bes-ser skalierbar. Sie wird unabhängig von der Auflösung und passt für viele ver-schiedene Ausgabemedien. Dies wird aufgrund des mittlerweile fließendenÜbergangs von Smartphone über Pad, Netbook, Laptop, Desktop bis hin zu Groß-bildschirmen immer wichtiger.

Die Möglichkeiten der Grafik-Hardware beim Benutzer können besser genutztwerden. Die Grafik-Hardware wurde mit den Jahren immer besser und billiger,und damit stiegen auch die Erwartungen der Benutzer weiter an. Falls beimBenutzer permanent oder temporär keine geeignete Grafik-Hardware vorhandensein sollte, so besitzt die WPF Fallback-Mechanismen. Dies beeinflusst die Ent-wicklung nicht, nutzt aber die Möglichkeiten optimal aus.

1.2 Aufbau des Buchs

In jedem Abschnitt wird die Thematik anhand eines vollständigen Projekts erläu-tert. Sie sehen jeweils einen Screenshot und die wichtigen Teile des Codes. Ichempfehle Ihnen, das jeweilige Projekt auf Ihren PC zu kopieren und es auf IhremRechner aufzurufen, parallel zum Lesen des Buchs. Viele Zusammenhänge wer-den durch die Bedienung der Anwendung noch deutlicher.

In diesem Kapitel 1 werden einige grundlegende Begriffe erläutert. Die Besonder-heiten und Erweiterungen von XAML gegenüber XML und der WPF im Vergleichzu einer herkömmlichen Klassenbibliothek folgen in Kapitel 2.

Im Kapitel 3 lernen Sie verschiedene Layout-Möglichkeiten zur Anordnung derElemente kennen. Die WPF bietet zahlreiche Steuerelemente, diese folgen, inGruppen unterteilt, in Kapitel 4.

14

Page 13: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Visual Studio 2010 1.3

Mithilfe der WPF können Sie auf alte und neue Eingabemedien zugreifen. Diesewerden, zusammen mit dem Prinzip der Kommandos, in Kapitel 5 erläutert.Kapitel 6 beschreibt die verschiedenen Anwendungstypen und das Prinzip derRessourcen.

Vorlagen sorgen für einheitliches, aber individuelles Aussehen – siehe Kapitel 7.In Kapitel 8 wird erläutert, wie Sie eine Verbindung zwischen der Oberfläche undden Anwendungsdaten herstellen können.

Die besondere Stärke der WPF liegt in der Grafik. Der Aufbau von 2D-Grafikenund 3D-Grafiken wird in den Kapiteln 9 und 10 besprochen. Das Ganze gerät mit-hilfe von Animationen in Bewegung, die Thema von Kapitel 11 sind.

Multimediakomponenten aus dem Bereich Audio und Video können Sie mithilfeder WPF in Ihre Anwendungen integrieren. Dies ist Thema von Kapitel 12.

In Kapitel 13 lernen Sie, wie Sie verschiedene Formen von Dokumenten erstel-len, benutzen und ausdrucken. Zu guter Letzt folgt in Kapitel 14 das Zusammen-spiel der WPF mit Windows Forms und MS Office.

1.3 Visual Studio 2010

Die Entwicklungsumgebung Visual Studio 2010 von Microsoft ist selber mithilfeder WPF entwickelt worden. Die frei verfügbaren Ausgaben Visual Basic 2010Express und Visual C# 2010 Express ermöglichen einen schnellen Einstieg in dieProgrammierung mit WPF.

Die Oberfläche einer Anwendung wird mithilfe von XAML entworfen. XAMLsteht für eXtensible Application Markup Language. Es handelt sich dabei um eineXML-basierte Markierungssprache, die nicht nur in der WPF zum Einsatz kommt.

Innerhalb des Visual Studio können Sie die Oberfläche gleichzeitig in zweiAnsichten sehen: im grafischen Entwurf und im XAML-Code. Eine Änderung ineiner der beiden Ansichten wirkt sich unmittelbar auf die jeweils andereAnsicht aus.

Während der Codierung werden Sie sowohl in XAML als auch im Programmier-code von der kontextsensitiven Hilfe IntelliSense unterstützt. Dank IntelliSensewerden unter anderem nützliche Listen eingeblendet, zum Beispiel nach einemPunkt in der Objektschreibweise. Diese Listen enthalten nur die Elemente, indenen die bereits eingegebene Buchstabenkombination vorkommt (siehe Abbil-dung 1.1).

15

Page 14: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Einführung1

Abbildung 1.1 Diese Liste enthält nur Elemente mit »acti«.

Falls Sie einen Begriff markieren und die Taste (F1) betätigen, wird auch der Kon-text beachtet und das passende Ziel erkannt. Dies ist dann besonders nützlich,falls der markierte Begriff zum Beispiel gleichzeitig eine Klasse und eine Eigen-schaft bezeichnet.

1.3.1 Ein neues Projekt

Das Visual Studio bietet die Standardelemente einer Entwicklungsumgebung:Projektmappenexplorer, Code- und Designfenster, Eigenschaftenfenster inklusiveeiner Liste der Ereignisse und vieles mehr. Ein neues Projekt entwerfen Sie wiefolgt:

1. Rufen Sie Menü Datei � Neues Projekt auf.

2. Wählen Sie die Vorlage WPF-Anwendung aus, und vergeben Sie einenNamen.

3. Entwerfen Sie die Oberfläche im Designer, inklusive des XAML-Codes.

4. Ordnen Sie die Ereignisse den Ereignismethoden zu, entweder innerhalb desXAML-Codes oder im Eigenschaftenfenster, Reiter Ereignisse.

5. Codieren Sie die Abläufe im Codefenster.

6. Nicht vergessen: Menü Datei � Alle speichern; selbst ein bereits erfolgreichgestartetes Projekt könnte ansonsten verloren gehen!

Sollten Sie versehentlich einzelne Fenster geschlossen haben: Im Menü Ansicht �

Weitere Fenster können Sie den Projektmappenexplorer und das Eigenschaften-fenster wieder einblenden. Das Designfenster blenden Sie anschließend übereinen Doppelklick auf die Datei MainWindow.xaml im Projektmappenexplorerein, das Codefenster über die Datei MainWindow.xaml.cs. Zur normalen Anord-nung der Fenster gelangen Sie über das Menü Fenster � Fensterlayout zurück-

setzen.

16

Page 15: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Danksagung 1.6

1.4 Kaxaml

Bei Kaxaml handelt es sich um einen frei verfügbaren, ressourcensparendenXAML-Editor. Er stammt von einem Entwickler, der auch im Team der WPF tätigwar: Robby Ingebretsen. Kaxaml bietet einige nützliche Hilfen, um den erstenEntwurf einer Oberfläche vorzunehmen. Sie finden Kaxaml auf dem Datenträgerzum Buch oder über http://www.kaxaml.com.

1.5 XAML und C# bzw. VB

Eine Anwendung kann ausschließlich aus XAML-Code oder ausschließlich ausCode in einer der Programmiersprachen bestehen, zum Beispiel Visual Basic oderVisual C#. Meist wird allerdings gemischt: Die Oberfläche wird in XAML entwor-fen, die Abläufe werden in einer Programmiersprache codiert. Jedoch sind dieÜbergänge fließend; es herrscht keine strenge Trennung wie in Windows Forms.

In vielen Projekten dieses Buchs werden Elemente sowohl mit XAML als auch perProgrammcode erzeugt. Dies macht den hierarchischen Aufbau der Anwendungund das Zusammenspiel der einzelnen Elemente noch deutlicher.

Die Entscheidung, welche Sprache Sie verwenden, hängt von Ihren persönlichenVorlieben und Erfahrungen ab. Es wird auf die gleiche Klassenbibliothek zuge-griffen, und es stehen vergleichbare sprachliche Mittel zur Verfügung. Alle Bei-spielprojekte dieses Buchs liegen in zwei Versionen vor: im Buch in Visual C#, aufdem Datenträger zum Buch in beiden Sprachen. Die Erklärungen im Buch kön-nen ebenfalls für beide Sprachen genutzt werden, da dieselben WPF-Typenzugrunde liegen.

1.6 Danksagung

An dieser Stelle möchte ich mich bei Anne Scheibe, Christine Siedle, MatthiasGeirhos, Friederike Daenecke und dem ganzen Team von Galileo Press für dieUnterstützung und die hilfreiche Kritik bei der Erstellung dieses Buchs bedanken.

17

Page 16: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Die WPF stellt vielfältige Alternativen zur Anordnung der Elemente bereit. Diese Layout-Möglichkeiten erleichtern die Trennung von grafischer Gestaltung und Programmierung und damit eine Aufgaben-teilung zwischen Designer und Entwickler.

3 Layout

Sie bestimmen die Anordnung der Steuerelemente in Ihrer Anwendung über dasLayout. Damit sorgen Sie für ein ansprechendes Aussehen und eine gute Bedien-barkeit der Oberfläche. Sie soll stufenlos in der Größe skalierbar sein und unter-schiedlichen Umgebungen angepasst werden können. Die früher übliche Vergabefester Positionen sollten Sie daher möglichst vermeiden.

Der Inhalt des Client-Bereichs eines Anwendungsfensters ist genau ein Element.Im Allgemeinen ist dies ein Layout-Element. Dieses Layout-Element kann derUrsprung einer Hierarchie von Layouts sein. Layouts können also ineinander ver-schachtelt sein (siehe auch Abschnitt 3.1.3, »Layout-Hierarchie«).

Die gemeinsame Basisklasse der verschiedenen Layout-Klassen ist die KlassePanel. Sie stellt viele gemeinsame Member zur Verfügung. Im Projekt PanelAlle(siehe Abbildung 3.1) sehen Sie fünf mögliche Layouts: links oben Canvas, rechtsoben StackPanel, links unten WrapPanel, rechts unten DockPanel. Alle zusammensind innerhalb eines Grid angeordnet.

Abbildung 3.1 Alle fünf Layouts

29

Page 17: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

Sie können auch das Innere eines Elements mithilfe von Layouts frei gestalten:Im Projekt PanelAlle sehen Sie einen Button, der Text und eine CheckBox (hier:CB) beinhaltet. Ein anderer Button enthält Text und zwei RadioButtons (hier: RB).Sie sehen: Die Grenze zwischen Layout und Steuerelement ist fließend. Auch indiesem Punkt zeigt sich die Vielseitigkeit der WPF.

Eine Anmerkung: Als Beispiel für die Steuerelemente, die mithilfe von Layoutspositioniert werden, verwende ich häufig Buttons, unter anderem wegen ihrerguten Erkennbarkeit.

3.1 Canvas

In früheren Anwendungen wurden Steuerelemente häufig fest positioniert. Diessollten Sie, wie oben erläutert, möglichst vermeiden. Dennoch gibt es Situatio-nen, in denen dies für einen Teil der Oberfläche oder die gesamte Oberflächeunumgänglich ist. Dann verwenden Sie einen Canvas.

Zur Positionierung in x-Richtung verwenden Sie dabei die Attached PropertiesCanvas.Left und Canvas.Right. Für die Positionierung in y-Richtung nehmen SieCanvas.Top und Canvas.Bottom. Die Werte für diese Eigenschaften beziehen sichauf das logisch übergeordnete Element. Die Lage der Elemente in z-Richtung kön-nen Sie mithilfe der Attached Property Panel.ZIndex beeinflussen. Elemente mitunterschiedlichen Werten für ZIndex liegen vom Betrachter aus hintereinanderbezüglich der Bildschirmebene.

3.1.1 Positionierung

Im nachfolgenden Projekt CanvasPositionen wird eine Reihe von Buttons sowohlmithilfe von XAML als auch mithilfe von Programmcode positioniert (sieheAbbildung 3.2).

Abbildung 3.2 Positionierte Steuerelemente

30

Page 18: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Canvas 3.1

Zunächst der Aufbau in XAML:

<Window ... Height="150" Width="320"> <Canvas x:Name="cv"> <Button x:Name="b1" Click="b1_Click"> 1: ohne Left und Top</Button> <Button Canvas.Left="30" Canvas.Top="18" x:Name="b2" Click="b2_Click">2: Left 30, Top 18</Button> <Button Canvas.Left="5" Canvas.Bottom="5"> 3: Left 5, Bottom 5</Button> <Button Canvas.Right="5" Canvas.Bottom="22" Panel.ZIndex="1"> 4: Right 5, Bottom 22, ZIndex 1</Button> <Button Canvas.Right="5" Canvas.Bottom="39"> 5: Right 5, Bottom 39</Button> <Button Canvas.Right="5" Canvas.Bottom="5" Panel.ZIndex="1" Click="b6_Click">6: Right 5, Bottom 5, ZIndex 1</Button> </Canvas></Window>

Die Steuerelemente stehen innerhalb des Canvas-Containers. Dieser füllt, als ein-ziges Element, den gesamten Client-Bereich des Fensters aus. Er bekommt hiereinen eindeutigen Namen, weil ihm später ein Steuerelement per Programmcodehinzugefügt wird. Die Steuerelemente sind dem Canvas untergeordnet.

Bei Button 1 gibt es keine Positionsangaben, daher liegt er ganz links oben. BeiButton 2 ist der Abstand vom linken und vom oberen Rand, bei Button 3 derAbstand vom linken und vom unteren Rand des Canvas festgelegt. Bei den restli-chen Buttons 4 bis 6 wird mit unterschiedlichen Abständen vom rechten undvom unteren Rand gearbeitet.

Sollten sich einzelne Steuerelemente überlappen, so liegt das später erzeugte Ele-ment in z-Richtung über dem früher erzeugten Element. Dies sehen Sie bei denButtons 1 und 2. Mit der Attached Property Panel.ZIndex können Sie darauf Ein-fluss nehmen. Ohne Angabe gilt Panel.ZIndex = 0. Ein positiver Wert »hebt« dasSteuerelement in Richtung Betrachter, ein negativer Wert »versenkt« das Steuer-element in der Oberfläche. Daher überlappt Button 4 den Button 5, wird abervon Button 6 überlappt.

Die Lage können Sie auch per Programmcode beeinflussen, wie dies für die But-tons 1 und 2 durchgeführt wird:

private void b1_Click(object sender, RoutedEventArgs e){ b1.SetValue(Canvas.LeftProperty, 10.0); b1.SetValue(Canvas.TopProperty, 10.0);

31

Page 19: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

b1.SetValue(Panel.ZIndexProperty, 1);}

private void b2_Click(object sender, RoutedEventArgs e){ double left, top; left = (double)b2.GetValue(Canvas.LeftProperty); top = (double)b2.GetValue(Canvas.TopProperty);

b2.SetValue(Canvas.LeftProperty, left + 10); b2.SetValue(Canvas.TopProperty, top + 10); b2.Content = "2: verschoben";}

Button 1 wird absolut verschoben, und zwar auf Position 10,10. Gleichzeitig wirder dem Betrachter entgegengehoben. Daher überlappt er nun Button 2. DieMethode SetValue() dient zum Verändern der Werte von Dependency Properties.Canvas.LeftProperty steht für die Attached Property Canvas.Left, und bei denanderen verhält es sich entsprechend. Die Werte für Left und Top müssen vomTyp double sein, der Wert für ZIndex vom Typ int.

Button 2 wird bei jedem Click relativ verschoben: um den Wert 10 nach rechtsund um den Wert 10 nach unten. Die Methode GetValue() dient zum Ermittelndes aktuellen Werts der Dependency Property. Diese ist vom Typ object. Für diespätere Weiterverwendung ist daher eine explizite Typkonvertierung notwendig.Hier ist es wichtig, den richtigen Typ zu wählen. Die Eigenschaft Content stehtfür den Inhalt des Elements, also für die Aufschrift des Buttons.

Hinweis: Die ursprüngliche Position des Buttons 1 können Sie nicht über dieMethode GetValue() ermitteln, da ihm die Eigenschaften Left und Top nicht perXAML zugewiesen wurden. Die Methode liefert in diesem Falle den Wert »nichtdefiniert«. Abhilfe: Setzen Sie Left und Top in XAML auf 0.

3.1.2 Elemente neu erzeugen

Im Projekt CanvasPositionen dient Button 6 zur Erstellung von weiteren Elemen-ten per Programmcode:

private void b6_Click(object sender, RoutedEventArgs e){ Button nb = new Button(); nb.Content = "Neu"; nb.SetValue(Canvas.RightProperty, 5.0);

32

Page 20: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Canvas 3.1

nb.SetValue(Canvas.BottomProperty, 80.0); cv.Children.Add(nb);}

Mit dieser Technik können Sie Steuerelemente in allen Panel-Typen (Canvas,StackPanel …) neu erzeugen. Zunächst wird eine neue Instanz des Steuerelementsangelegt. Diese bekommt Eigenschaften, wie Aufschrift und Lage. Hier ist eswichtig, double-Werte zu wählen.

Anschließend wird sie der Auflistung Children des jeweiligen Panels mithilfe derMethode Add() hinzugefügt. Diese Auflistung verweist auf die untergeordnetenElemente eines Panels, hier also des Canvas.

3.1.3 Layout-Hierarchie

In einer Hierarchie von Layouts lassen sich mehrere Layouts, auch unterschiedli-chen Typs, miteinander kombinieren. Dies wird im nachfolgenden Projekt Canvas-InCanvas anhand von Canvas-Layout-Elementen gezeigt. Angaben wie Canvas.Leftbeziehen sich dabei immer auf das direkt übergeordnete Layout-Element.

Innerhalb eines Canvas, der den Client-Bereich des Fensters einnimmt, werdenzwei untergeordnete Canvas positioniert. Diese beinhalten wiederum Buttons(siehe Abbildung 3.3).

Abbildung 3.3 Untergeordnete Elemente

Zunächst der Aufbau in XAML:

<Window ...> <Canvas> <Canvas Width="200" Height="60" x:Name="cv1" Background="LightGray"> <Button Canvas.Top="10" Canvas.Left="50">Button 1</Button> </Canvas> <Canvas Width="200" Height="60" x:Name="cv2" Canvas.Top="70" Background="LightGray">

33

Page 21: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

<Button Canvas.Top="10" Canvas.Left="50">Button 2</Button> <Button Canvas.Top="10" Canvas.Left="110" x:Name="b3" Click="b3_Click">Button 3</Button> </Canvas> </Canvas></Window>

Die beiden inneren Canvas cv1 und cv2 sind dem äußeren Canvas untergeordnet.Die Angabe Canvas.Top des unteren Canvas bezieht sich auf den äußeren Canvas.Die beiden Buttons 1 und 2 sind gleichartig positioniert. Ihre Angaben Canvas.Top und Canvas.Left beziehen sich allerdings einmal auf den ersten, einmal aufden zweiten inneren Canvas.

Hinweis: Die Eigenschaft Background für die Hintergrundfarbe ist vom Typ Brush(dt. Pinsel) und nicht vom Typ Color. In XAML werden häufig Type Convertergenutzt, die eine passende Umwandlung vornehmen können. Mehr zum TypBrush finden Sie in Abschnitt 9.4, »Pinsel«.

Die Unterordnung bezüglich der beiden Canvas können Sie auch per Programm-code verändern. Betätigt der Benutzer den dritten Button, so wechselt der Buttonvom unteren zum oberen Canvas:

private void b3_Click(object sender, RoutedEventArgs e){ if (b3.Parent == cv2) { cv2.Children.Remove(b3); cv1.Children.Add(b3); }}

Die Eigenschaft Parent liefert einen Verweis auf das übergeordnete Element.Falls es sich in diesem Fall um den unteren Canvas handelt, so wird die Unterord-nung mithilfe der Methode Remove() aufgelöst und eine neue Unterordnung zumoberen Canvas erstellt: Der Button wechselt nach oben (siehe Abbildung 3.4).

Abbildung 3.4 Hier wurde die Unterordnung geändert.

34

Page 22: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

StackPanel 3.2

3.2 StackPanel

Ein StackPanel »stapelt« wortwörtlich die Steuerelemente: Diese werden einfachin einer Reihe untereinander oder nebeneinander angeordnet. Im Projekt Stack-PanelAnordnung werden einige Möglichkeiten dargestellt.

Den Standard-Fall mit vertikaler Orientierung sehen Sie in Abbildung 3.5 links.In Abbildung 3.5 Mitte sind die Steuerelemente nebeneinander angeordnet.Zusätzlich wurde die Richtung der Reihe geändert: Die Steuerelemente werdenvon rechts nach links gestapelt. Sollte die Umgebung zu wenig Platz bieten, dannsind möglicherweise einige Elemente nicht erreichbar. Zur Abhilfe können Siedas StackPanel in ein Steuerelement vom Typ ScrollViewer einbetten (sieheAbbildung 3.5 rechts).

Falls die Steuerelemente innerhalb eines vertikal orientierten StackPanel keineeigene Breite haben, so nehmen sie die maximal verfügbare Breite in Anspruch.Entsprechendes gilt für die Höhe in einem horizontal orientierten StackPanel.

Alle Layouts können Sie in einer Hierarchie anordnen. Die drei beschriebenenStackPanel sind insgesamt wiederum in einem übergeordneten StackPanel mithorizontaler Orientierung eingebettet, diesmal in der Standard-Ablaufrichtung»von links nach rechts«.

Abbildung 3.5 Verschiedene StackPanel

Der Aufbau in XAML:

<Window ...> <StackPanel Orientation="Horizontal"> <StackPanel Width="100" Margin="10"> <Button Click="neu_Click">Button 1</Button> <Button>Button 2</Button> <Button>Button 3</Button> </StackPanel> <StackPanel Orientation="Horizontal" FlowDirection="RightToLeft" ...> ... </StackPanel>

35

Page 23: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

<ScrollViewer VerticalScrollBarVisibility="Auto"...> <StackPanel> ... </StackPanel> </ScrollViewer> </StackPanel></Window>

Die Orientierung wird mit der Eigenschaft Orientation festgelegt. Es gibt dieWerte Vertical (übereinander) und Horizontal (nebeneinander). Die Eigen-schaft FlowDirection bestimmt die Richtung der Reihe. Erlaubte Werte sindLeftToRight und RightToLeft. Der letztgenannte Wert macht nur Sinn, fallsOrientation den Wert Horizontal hat.

Die Eigenschaft VerticalScrollBarVisibility des Elements vom Typ Scroll-Viewer können Sie auf den Wert Auto stellen. Dann wird sie nur eingeblendet,wenn sie benötigt wird, also wenn es »zu viele« Elemente gibt. Testen Sie dies imvorhandenen Projekt, indem Sie einfach die Fensterhöhe mit der Maus verän-dern.

Zur besseren Darstellung wurden die Breite sowie der Außenabstand der unter-geordneten StackPanel festgelegt, und zwar über die Eigenschaften Width undMargin. Mehr zu diesen Eigenschaften erfahren Sie in Kapitel 4, »Steuerele-mente«.

3.2.1 Elemente neu erzeugen

Im Projekt StackPanelAnordnung können Sie mithilfe der Buttons 1, 4 und 7 wei-tere Buttons per Programmcode erstellen:

private void neu_Click(object sender, RoutedEventArgs e){ Button nb = new Button(); nb.Content = "Neu"; Panel p = (sender as Button).Parent as Panel; p.Children.Add(nb);}

Es wird ein neuer Button erzeugt und beschriftet. Dann wird das jeweils überge-ordnete Panel des geklickten Buttons (1, 4 oder 7) mithilfe der Eigenschaft Parentermittelt. Der neu erzeugte Button wird der Auflistung Children dieses Panelsmithilfe der Methode Add() als neues, untergeordnetes Element hinzugefügt.

Sie können feststellen, dass StackPanels mit vertikaler Orientierung nach untenerweitert werden. StackPanels mit horizontaler Orientierung werden nach rechtserweitert, unabhängig von der Richtung der Reihe.

36

Page 24: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

WrapPanel 3.3

3.3 WrapPanel

Ein WrapPanel ist, etwas vereinfacht ausgedrückt, ein StackPanel mit automati-schem Zeilenumbruch. Die Steuerelemente werden der Reihe nach angeordnet.Falls es nicht mehr genügend Platz gibt, dann wird eine weitere Reihe aufge-macht. Es kommt hinzu, dass die Steuerelemente nur noch den notwendigenPlatz einnehmen, nicht mehr den maximal verfügbaren Platz. Im Projekt Wrap-PanelAnordnung sehen Sie einige Möglichkeiten.

Das oberste WrapPanel in Abbildung 3.6 beinhaltet sieben Steuerelemente. Siesind jeweils nur so breit wie nötig. Das letzte Element passte nicht mehr in dieReihe, daher wurde eine neue Reihe eröffnet. Die Richtung der Reihe weist imStandardfall von links nach rechts.

Beim zweiten WrapPanel in Abbildung 3.6 sind die fünf Steuerelemente vonrechts nach links angeordnet. Es gibt auch hier eine zweite Reihe.

Im nächsten WrapPanel in Abbildung 3.6 wurde die Höhe einzelner Steuerele-mente geändert. Dies hat Auswirkungen auf die anderen Steuerelemente, die sichaktuell in der gleichen Reihe befinden. Sie nehmen die gleiche Höhe an, falls siekeine eigene Höhe haben.

Sie können aber auch eine einheitliche Breite beziehungsweise Höhe für alleSteuerelemente festlegen. Dies sehen Sie am letzten WrapPanel in Abbildung 3.6.

Abbildung 3.6 Verschiedene WrapPanel

37

Page 25: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

Der Aufbau in XAML:

<Window ...> <StackPanel> <WrapPanel Margin="5"> <Button Click="neu_Click">Button 1</Button> <Button>B 2</Button> ... <Button>Button 7</Button> </WrapPanel> <WrapPanel FlowDirection="RightToLeft" ...> ... </WrapPanel> <WrapPanel ...> ... <Button Height="40">3: Height 40</Button> <Button Height="18">4: Height 18</Button> ... </WrapPanel> <WrapPanel ItemWidth="70" ItemHeight="30" ...> ... </WrapPanel> </StackPanel></Window>

Wiederum wird über die Eigenschaft FlowDirection die Richtung der Reihe fest-gelegt. In einer Reihe haben alle Steuerelemente dieselbe Höhe. Sobald eines derSteuerelemente seine Höhe ändert (Eigenschaft Height), ändert sich auch dieHöhe der anderen Steuerelemente in der gleichen Reihe. Falls eine einheitlicheBreite beziehungsweise Höhe gewünscht wird, können Sie dies über die Eigen-schaften ItemWidth und ItemHeight des Panels bestimmen.

3.3.1 Elemente neu erzeugen

Mithilfe der verschiedenen Buttons mit der Aufschrift Button 1 können Sie wei-tere Buttons im jeweiligen Panel per Programmcode erstellen. Die Methode neu_Click() aus dem Abschnitt 3.2.1, »Elemente neu erzeugen«, können Sie hierunverändert anwenden, da alle Layoutklassen von der gemeinsamen BasisklassePanel abgeleitet sind.

3.3.2 Vertikale Orientierung

Auch in einem vertikal angeordneten WrapPanel gibt es zwei Möglichkeiten fürdie Richtung der Reihe. Dies sehen Sie im Projekt WrapPanelOrientierung inAbbildung 3.7.

38

Page 26: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

DockPanel 3.4

Abbildung 3.7 Zwei vertikale WrapPanel

Beide vertikalen Reihen bieten nicht genügend Platz, daher wird jeweils eine wei-tere vertikale Reihe eröffnet. Im zweiten Fall weist die Richtung der Reihe vonrechts nach links. Der Aufbau in XAML:

<Window ...> <StackPanel Orientation="Horizontal"> <WrapPanel Orientation="Vertical" ...> ... </WrapPanel> <WrapPanel Orientation="Vertical" FlowDirection="RightToLeft" Margin="5"> ... </WrapPanel> </StackPanel></Window>

Auch in diesem Projekt können Sie über die beiden Buttons mit der AufschriftButton 1 weitere Buttons erstellen.

3.4 DockPanel

In einem DockPanel ordnen Sie die Steuerelemente so an, wie Sie es aus vielenAnwendungen kennen: Oben wird zum Beispiel das Hauptmenü angedockt,unten eine Statuszeile, links und rechts gibt es weitere Bedienmöglichkeiten. Inder verbleibenden Mitte wird der zu bearbeitende Inhalt dargestellt. Ein Beispielsehen Sie im Projekt DockPanelTBLR (siehe Abbildung 3.8).

Abbildung 3.8 Reihenfolge »Top«, »Bottom«, »Left«, »Right«

39

Page 27: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

Der Aufbau in XAML:

<Window ...> <DockPanel> <Button DockPanel.Dock="Top">1: Top</Button> <Button DockPanel.Dock="Bottom">2: Bottom</Button> <Button DockPanel.Dock="Left">3: L</Button> <Button DockPanel.Dock="Left">4: L</Button> <Button DockPanel.Dock="Left">5: L</Button> <Button DockPanel.Dock="Right">6: Right</Button> <TextBlock Margin="10">Inhalt</TextBlock> </DockPanel></Window>

Den Steuerelementen innerhalb eines DockPanels wird die Attached PropertyDockPanel.Dock zugeordnet. Die Werte für die Eigenschaft stammen aus der Enu-meration Dock: Top, Bottom, Left und Right.

Wichtig ist die Reihenfolge: Der erste Button wird oben angeordnet und erstrecktsich über die gesamte Breite. Beim zweiten Button gilt das Gleiche für unten. Siekönnen mehrere Steuerelemente im gleichen Bereich andocken: Die Buttons 3bis 5 werden nebeneinander links dargestellt. Diese Buttons können sich aller-dings nicht mehr bis ganz oben oder ganz unten erstrecken, da dieser Platzbereits durch die Buttons 1 und 2 belegt ist. Beim Button 6 gilt das Gleiche fürrechts.

Das letzte Element, hier ein TextBlock, wird gar nicht angedockt. Daher füllt esden verbleibenden Platz. Mehr zum Element TextBlock folgt in Abschnitt 4.3.2.

3.4.1 DockPanel in Hierarchie

Im nachfolgenden Projekt DockPanelLRT sehen Sie Elemente, die jeweils wie-derum andere Elemente enthalten (siehe Abbildung 3.9).

Abbildung 3.9 DockPanel und StackPanel

40

Page 28: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

DockPanel 3.4

Die Elemente wurden in der Reihenfolge links, rechts und oben erzeugt. Dahersteht für das obere Element nicht mehr die gesamte Breite zur Verfügung. Dasrechte und das obere Element ist jeweils ein StackPanel, das weitere Elementebeinhaltet. Der Aufbau in XAML:

<Window ...> <DockPanel> <Button DockPanel.Dock="Left">1: Left</Button> <StackPanel DockPanel.Dock="Right"> <Button>2: SP Right</Button> ... </StackPanel> <StackPanel DockPanel.Dock="Top" Orientation="Horizontal"> <Button>6: SP Top</Button> ... </StackPanel> <TextBlock Margin="10">Inhalt</TextBlock> </DockPanel></Window>

Es gibt drei Elemente, die mit der Attached Property DockPanel festgelegt wur-den: ein Button und zwei StackPanels.

3.4.2 Elemente neu erzeugen

Im nachfolgenden Projekt DockPanelLastChild wird erläutert, wie Sie einemDockPanel neue Elemente an der gewünschten Stelle hinzufügen (siehe Abbil-dung 3.10).

Abbildung 3.10 Elemente neu erzeugen

Die Elemente wurden in der Reihenfolge links, rechts, oben, unten erzeugt. Eswurden zwei weitere Elemente mit den Werten Top und Bottom für die Eigen-schaft DockPanel.Dock hinzugefügt.

41

Page 29: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

Zunächst der Aufbau in XAML:

<Window ...> <DockPanel LastChildFill="False"> ... <Button DockPanel.Dock="Top" Click="neu_Click"> 3: Top</Button> <Button DockPanel.Dock="Bottom" Click="neu_Click"> 4: Bottom</Button> </DockPanel></Window>

Mithilfe der Eigenschaft LastChildFill können Sie bestimmen, ob das letzte Ele-ment den verbleibenden Platz im Fenster füllt (Standardwert = True) oder nicht(Wert = False). Der Aufbau der Methode neu_Click() ist etwas aufwendiger alsbei den anderen Panels, da Sie zunächst die Position ermitteln müssen:

private void neu_Click(object sender, RoutedEventArgs e){ Button sb = sender as Button; Object dp = sb.GetValue(DockPanel.DockProperty); Button nb = new Button(); nb.Content = "Neu"; nb.SetValue(DockPanel.DockProperty, dp);

Panel p = sb.Parent as Panel; p.Children.Add(nb);}

Mithilfe der Methode GetValue() wird der Wert der Dependency PropertyDockPanel.DockProperty ermittelt, die die Position des auslösenden Buttonsangibt. Dies wird die Position des neuen Buttons, die mithilfe von SetValue()festgelegt wird.

3.5 Grid

Ein Grid dient zur regelmäßigen, übersichtlichen Anordnung der Elemente ineinem Raster. Sie legen zunächst die Anzahl der Zeilen und Spalten fest. Den ein-zelnen Steuerelementen ordnen Sie anschließend die Koordinaten ihrer Zelle imGrid zu, die aus der Nummer der Zeile und der Nummer der Spalte bestehen. Einerstes Beispiel folgt im Projekt GridAnordnung (siehe Abbildung 3.11).

42

Page 30: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Grid 3.5

Abbildung 3.11 Ein Grid mit drei Zeilen und zwei Spalten

Der Aufbau in XAML:

<Window ...> <Grid x:Name="gr"> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Button Grid.Row="0" Grid.Column="0" Click="b1_Click"> 1: 0, 0</Button> <Button Grid.Row="0" Grid.Column="1" Click="b2_Click"> 2: 0, 1</Button> <Button Grid.Row="1" Grid.Column="1">3: 1, 1</Button> <Button Grid.Row="2" Grid.Column="0" Click="b4_Click"> 4: 2, 0</Button> </Grid></Window>

Die Gestaltung der einzelnen Zeilen und damit auch ihre Anzahl wird in der Auf-listung Grid.RowDefinitions festgelegt. Das Gleiche gilt für die Spalten in derAuflistung Grid.ColumnDefinitions. Die Zuordnung zu den einzelnen Zellen desGrids geschieht mithilfe der Attached Properties Grid.Row und Grid.Column. DieZählung beginnt bei 0. Dies ist auch der Standardwert. Bei Button 1 hätten Siealso die Zuordnung weglassen können.

3.5.1 Elemente neu erzeugen

Im Projekt GridAnordnung dient Button 1 zur Erzeugung eines neuen Elementsinnerhalb einer vorhandenen Zelle. Button 2 fügt eine neue Spalte mit einemweiteren Element hinzu. Button 4 fügt eine neue Zeile hinzu, ebenfalls mit

43

Page 31: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

einem weiteren Element. Damit kann der Benutzer das Grid verändern, sodass eszum Beispiel wie in Abbildung 3.12 aussieht.

Abbildung 3.12 Ein Grid mit vier Zeilen und vier Spalten

Der zugehörige Programmcode:

private void b1_Click(...){ Button nb = new Button(); nb.Content = "Neu"; nb.SetValue(Grid.RowProperty, 2); nb.SetValue(Grid.ColumnProperty, 1); gr.Children.Add(nb);}

private void b2_Click(...){ ... nb.SetValue(Grid.RowProperty, 0); gr.ColumnDefinitions.Add(new ColumnDefinition()); nb.SetValue(Grid.ColumnProperty, gr.ColumnDefinitions.Count - 1); gr.Children.Add(nb);}

private void b4_Click(...){ ... gr.RowDefinitions.Add(new RowDefinition()); nb.SetValue(Grid.RowProperty, gr.RowDefinitions.Count - 1); nb.SetValue(Grid.ColumnProperty, 0); gr.Children.Add(nb);}

Mithilfe der Methode SetValue() setzen Sie die Dependency Properties Grid.RowProperty und Grid.ColumnProperty auf die gewünschten Werte. Zur Erzeu-gung einer neuen Spalte wird der Auflistung ColumnDefinitions mithilfe derMethode Add() ein neues Element hinzugefügt. Die Eigenschaft ColumnDefini-

44

Page 32: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Grid 3.5

tions.Count liefert die aktuelle Anzahl der Spalten. Damit können Sie die Posi-tion für das neue Element in der neuen Spalte bestimmen. Entsprechendes giltfür die Auflistung Grid.RowDefinitions.

3.5.2 Elemente über mehrere Zellen

Elemente können sich über mehrere Zellen erstrecken. Dies wird ähnlich wie inHTML-Tabellen gelöst. Ein Beispiel sehen Sie im Projekt GridSpannweite (sieheAbbildung 3.13).

Abbildung 3.13 Elemente über mehrere Zellen

Der Aufbau in XAML:

<Window ...> <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Button Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"> 1: 0, 0, ColumnSpan 2</Button> <Button Grid.Row="1" Grid.Column="0">2: 1, 0</Button> <Button Grid.Row="1" Grid.Column="1" Grid.RowSpan="2"> 3: 1, 1, RowSpan 2</Button> <Button Grid.Row="2" Grid.Column="0">4: 2, 0</Button> </Grid></Window>

Zunächst wird das Grundgerüst aufgebaut, das aus drei Zeilen und zwei Spaltenbesteht. Anschließend ordnen Sie die Elemente wie gewohnt über die Attached

45

Page 33: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

Properties Grid.Row und Grid.Column zu. Die Attached Properties Grid

.ColumnSpan und Grid.RowSpan dienen dazu, die Elemente von der angegebenenZelle aus über die entsprechende Anzahl an Zellen zu »spannen«. Der Inhalt derZelle 0,1 stammt somit aus der Zelle 0,0. Der Inhalt der Zelle 2,1 stammt entspre-chend aus der Zelle 1,1.

3.5.3 Größe der Zellen festlegen

Bisher waren alle Zellen gleich groß. Natürlich haben Sie auch die Möglichkeit,die Größe der Zellen selbst zu bestimmen. Die Zellgröße kann sich nach demInhalt richten, sie kann einen bestimmten Wert annehmen oder in einem festenVerhältnis zur Größe der anderen Zellen stehen.

Im nachfolgenden Projekt GridAuto wird die Höhe beziehungsweise die Breitebestimmter Zellen nach dem Inhalt ausgerichtet (siehe Abbildung 3.14).

Abbildung 3.14 Höhe beziehungsweise Breite automatisch

Der Aufbau in XAML:

<Window ...> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> ...</Window>

Dank des Wertes Auto für die Eigenschaft Height richtet sich die Höhe der erstenZeile nach der Höhe des Textes auf dem Element. Das Entsprechende gilt für die

46

Page 34: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Grid 3.5

Breite (Width) der zweiten Spalte, die sich nach der Breite des Textes richtet. Diegilt unabhängig von den Einstellungen für Grid.RowSpan und Grid.ColumnSpan.

Im nachfolgenden Projekt GridWert stehen die Höhen der Zeilen in einembestimmten Verhältnis zueinander. Dagegen richtet sich die Breite bestimmterSpalten nach einem Wert (siehe Abbildung 3.15).

Abbildung 3.15 Höhe im Verhältnis, Breite mit Wert

Der Aufbau in XAML:

<Window ...> <Grid> <Grid.RowDefinitions> <RowDefinition Height="2*" /> <RowDefinition Height="*" /> <RowDefinition Height="3*" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="190" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> ...</Window>

Die Höhen der Zeilen stehen im Verhältnis 2 zu 1 zu 3. Ein einfacher * steht beieiner Verhältnisangabe für 1*. Die Breite der linken Spalte wurde mit dem Wert190 festgelegt, für die rechte Spalte verbleibt der Rest. Auch hier sehen Sie wie-der die Parallelen zu HTML.

3.5.4 Die Größe der Zellen flexibel gestalten

Sie möchten dem Benutzer Ihrer Anwendung die Möglichkeit geben, Zeilenhöheund Spaltenbreite zu verändern? Dies ermöglichen Ihnen Elemente vom TypGridSplitter. Im nachfolgenden Projekt GridVerschieben wird Ihnen ein Beispielgezeigt (siehe Abbildung 3.16).

47

Page 35: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

Abbildung 3.16 Verschobenes Grid

Ursprünglich waren die Zellen mit den Buttons gleich groß. Der Benutzer hataber bereits die beiden schwarz hervorgehobenen GridSplitter genutzt, um Höheund Breite zu verstellen. Der Aufbau in XAML:

<Window ...> <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition MinHeight="10" /> <RowDefinition Height="Auto" /> <RowDefinition MinHeight="10" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition MinWidth="10" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition MinWidth="10" /> </Grid.ColumnDefinitions> <Button Grid.Row="0" Grid.Column="0"> 1: 0, 0, MinW 10</Button> <GridSplitter Grid.Row="0" Grid.Column="1" Grid.RowSpan="4" ResizeBehavior="PreviousAndNext" Width="3" Background="Black" /> <Button Grid.Row="0" Grid.Column="2"> 2: 0, 2, MinW 10</Button> <Button Grid.Row="1" Grid.Column="0"> 3: 1, 0, MinH 10</Button> <Button Grid.Row="1" Grid.Column="2">4: 1, 2</Button> <GridSplitter Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" ResizeBehavior="PreviousAndNext" HorizontalAlignment="Stretch" Height="3" Background="Black" /> <Button Grid.Row="3" Grid.Column="0">

48

Page 36: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout-Kombination 3.6

5: 3, 0, MinH 10</Button> <Button Grid.Row="3" Grid.Column="2">6: 3, 2</Button> </Grid></Window>

Das Grid umfasst vier Zeilen und drei Spalten. Eine Zeile und eine Spalte werdenjeweils von einem GridSplitter eingenommen. Für die beiden Nachbarzeilen(1 und 3) der Zeile mit dem GridSplitter (2) ist es sinnvoll, eine Minimalhöhe zuvereinbaren. Ansonsten würden sie bei einer extremen Verschiebung des Grid-Splitters gänzlich verschwinden. Entsprechend haben die Nachbarspalten (0 und 2)der Spalte mit dem GridSplitter (1) eine Minimalbreite.

Der Spalten-GridSplitter in Zelle 0,1 geht über die gesamte Spalte (Grid.RowSpan=4). Zur besseren Bedienung hat er eine Breite von 3 und ist schwarz.

Der Zeilen-GridSplitter in Zelle 2,0 geht über die gesamte Zeile (Grid.ColumnSpan=3). Zur besseren Bedienung hat er eine Höhe von 3, ist schwarzund dehnt sich über die gesamte Breite aus (HorizontalAlignment = Stretch).

Bei beiden GridSplittern ist die Eigenschaft ResizeBehavior mit dem gleichenWert festgelegt. Damit legen Sie fest, welche Zeilen beziehungsweise Spalten ihreGröße verändern. Der Wert stammt aus der Enumeration GridResizeBehavior.Erlaubt sind:

� PreviousAndNext: Zeile über und unter dem GridSplitter beziehungsweiseSpalte links und rechts vom GridSplitter (gilt hier)

� CurrentAndNext: Zeile beziehungsweise Spalte des GridSplitters und Zeile da-runter beziehungsweise Spalte rechts

� PreviousAndCurrent: Zeile beziehungsweise Spalte des GridSplitters und Zeiledarüber beziehungsweise Spalte links

� BasedOnAlignment: Die Größenänderung richtet sich nach den Alignment-Eigenschaften.

3.6 Layout-Kombination

Es folgt ein Beispiel für die Kombination verschiedener Layouts (Projekt Panel-Kombi). Bei einigen Steuerelementen wurde auch das Innere mithilfe eines Lay-outs gestaltet. Zunächst sehen Sie in Abbildung 3.17 die Anwendung in Original-größe nach dem Start.

49

Page 37: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout3

Abbildung 3.17 Nach dem Start

Innerhalb der Button-Steuerelemente 3 und 5 sind unter dem Text eine ComboBoxbeziehungsweise eine CheckBox angeordnet. Nach einer Verkleinerung durch denBenutzer kann die Anwendung aber auch so aussehen wie in Abbildung 3.18.

Abbildung 3.18 Nach der Verkleinerung

Der Aufbau in XAML:

<Window ...> <DockPanel> <Button DockPanel.Dock="Left">B 1</Button> <Button DockPanel.Dock="Top">B 2</Button> <Grid DockPanel.Dock="Right"> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Button Grid.Row="0" Grid.Column="0"> <StackPanel> <TextBlock>Text 3</TextBlock> <ComboBox> <ComboBoxItem IsSelected="True">3.1</ComboBoxItem> <ComboBoxItem>3.2</ComboBoxItem> <ComboBoxItem>3.3</ComboBoxItem>

50

Page 38: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Layout-Kombination 3.6

</ComboBox> </StackPanel> </Button> <Button Grid.Row="0" Grid.Column="1">B 4</Button> <Button Grid.Row="1" Grid.Column="0"> <StackPanel> <TextBlock>Text 5</TextBlock> <CheckBox>CB 5</CheckBox> </StackPanel> </Button> <Button Grid.Row="1" Grid.Column="1">B 6</Button> </Grid> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Inhalt</TextBlock> </DockPanel></Window>

Das Hauptelement des Layouts ist ein DockPanel. Es beinhaltet drei gedockte Ele-mente (zwei Buttons und ein Grid) sowie einen TextBlock. Das Grid hat zwei Zei-len und zwei Spalten. Die Elemente der ersten Spalte sind Buttons, die mithilfeeines StackPanels gestaltet wurden. Diese StackPanels beinhalten je einen Text-Block und ein weiteres Element. Mehr zu Aufbau und Eigenschaften der Steuer-elemente erfahren Sie im folgenden Kapitel.

51

Page 39: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

&gt 66&lt 66* Größenangabe 408< anzeigen 66> anzeigen 662D-Grafik 241

für 3D-Oberfläche 3113D-Grafik 289

aus externen Daten 294Drehung 322Form des Objekts 293gemeinsame Punkte 298Grundelement 290Kamera 292, 299Kameralage 296, 301Landschaft 329Leinwand 292Licht 293, 297, 302Material 293, 313mehrere Körper 306mehrere Körper, mit Ereignis 310mit 2D-Oberfläche 311mit Ereignis 309mit Steuerelementen 311Modell 306Rotationsgruppe 327Rückseite 297Skalierung 319Textur 313, 316Transformation 319Transformationsgruppe 326Verschiebung 321Vorderseite 293

3D-Würfel 296

A

Abhängigkeitseigenschaft 21Absatz 81, 398, 400

ändern 402ausrichten 401Beginn 423einrücken 401

Ende 423erster / letzter 402formatieren 422hinzufügen 401Inhalt 412zusammenhalten 401

Abschnitt 398, 402ändern 403formatieren 402hinzufügen 403

AccelerationRatioAnimationTimeline 337

AcceptsReturnTextBox 78

Add()AdornerLayer 286Blocks 401Children 33ColumnDefinitions 44eigene Auflistung 229Inlines 75InputGestureCollection 152Int32Collection 295Items 84, 95PathSegmentCollection 256Point3DCollection 295PointCollection 247ValidationRules 223

AddChild()IAddChild 426

AddedLengthTextChange 79

Adobe Flash 13AdornedElement

Adorner 287RenderSize 287

Adorner 286AdornedElement 287OnRender() 287

AdornerLayerAdd() 286GetAdornerLayer() 286

445

Page 40: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

AlignCenterEditingCommands 422

AlignLeftEditingCommands 422

AlignRightEditingCommands 422

AllowsTransparencyWindow 183

Alphakanal 263, 280Alt

ModifierKeys 150AmbientLight 293, 302Angehängte Eigenschaft 23Angehängtes Ereignis 27Angle

AxisAngleRotation3D 323RotateTransform 271, 272, 274

AngleVelocityManipulationVelocities 145

AngleXSkewTransform 276

AngleYSkewTransform 276

Animation 333anhalten 347beenden 347Beginn 334Beschleunigung 337der 3D-Rotation 356der Bewegung 334der Farbe 349, 362der Größe 343der Transformation 347der Transparenz 343der Zeichenkette 363Ende 334entlang Pfad 368federt 367fortsetzen 347gemeinsame Eigenschaften 341Geschwindigkeit 335Geschwindigkeit ändern 347, 356mit Event Trigger steuern 354nach Funktion 364nach Sinus 367nach Spline 359ohne Programmcode 350

per Programmcode 343Rückkehr 337springen 356sprunghafte 359, 367starten 335, 343, 346, 351Startverzögerung 338steuern 345unterteilen 359variable Geschwindigkeit 359Veränderung 334Wiederholung 337Zeitdauer 335, 337Zieleigenschaft 343, 345Zielelement 343, 345zu Punkt springen 347zum Ende springen 347zuordnen 335, 343, 346, 356

AnimationTimeline 333, 334, 337Anwendung

Anzahl Aufrufparameter 163Aufbau 155Aufruf von Kommandozeile 161Aufrufkommando 163Aufrufparameter 160, 163Installation 164Minimal-Aufbau 155Ressource 164Rückgabeparameter 160, 163schließen 147Startdatei 159starten 157wird beendet 159, 161wird gestartet 159, 161

App.xaml 159, 161, 167App.xaml.cs 159, 162AppendBreak()

PromptBuilder 387, 389AppendText()

PromptBuilder 387AppendTextWithHint()

PromptBuilder 387, 389Application 157

Current.Resources 214Exit 159, 161Resources 168, 207Run() 157Startup 159, 161StartupUri 159

446

Page 41: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

ApplicationCommands 145Close 147

ApplicationExitCodeExitEventArgs 163

ArcSegment 255, 343IsLargeArc 256IsStroked 255Point 255RotationAngle 256Size 255SweepDirection 256

ArgsCount() 163StartupEventArgs 163

Arrange() 428Asterisk

SystemSounds 374Attached Event 27, 221Attached Property 23Audio-Ausgabe 371, 375Aufklappelement 108Auflistung 81

Anzahl Einträge 84eigener Typ 228Eintrag 81Eintrag einfügen 85Eintrag hinzufügen 84Eintrag löschen 85, 88leeren 85, 96Nummer eines Eintrags 95

Auflistungstyp 81Aufrufparameter 160Aufzählung

in Dokument 398, 403Ausrichtung 401

horizontal 49, 63vertikal 63

Ausrichtung des Inhaltshorizontal 63vertikal 63

Ausstanzung 283, 380Auswahl

einstellen 71Auswahlelement 68, 81AutoGenerateColumns

DataGrid 236

AutoReverseAnimationTimeline 337

AutoToolTipPlacementBottomRight 102Slider 102TopLeft 102

AxisAxisAngleRotation3D 323

AxisAngleRotationanimieren 357

AxisAngleRotation3D 322

B

BackEase 367Background 34, 55, 280BackgroundWorker 98

DoWork() 99IsBusy 99ProgressChanged 99ReportProgress() 99RunWorkerAsync() 99WorkerReportsProgress 99

BackMaterialGeometryModel3D 297

BalanceMediaPlayer 376

BasedOnStyle 199

BasedOnAlignmentGridResizeBehavior 49

BaselineAlignmentInline 415

Batch-Datei 161Baumstruktur 19Bedienbarkeit 56Beep

SystemSounds 374Begin()

Storyboard 343, 346BeginAnimation() 335BeginStoryboard 351, 355BeginStoryboardName 356BeginTime

AnimationTimeline 338TimeSeekOrigin 347

447

Page 42: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Benannter Style 194vererben 198

Benutzeroberflächewechseln 212

Berührenbeenden 142beginnen 142

BerührungBildschirm 141Punkt 142

Berührungsempfindlich 139Beschriftung 71

einfach 71formatierte 73

BevelPenLineJoin 248

Bézier-Kurve 254BezierSegment 254Bild 128

als Farbpinsel 267Datenquelle 128Dehnung 128Größe 128in Dokument 413, 418neu laden 166

Bilddateiin Geometrie 260

Bildlaufleiste 103Binding 218

DataTrigger 239ElementName 218GetBinding() 222Mode 219Path 218Source 226UpdateSourceTrigger 220ValidationRules 222

BindingExpressionUpdateSource() 220

BindingOperations 219ClearAllBindings() 219ClearBinding() 219SetBinding() 219

Bindungan Geste 150an Maus 150an Taste 150

Bitmapeffekt 284BitmapImage 166BitmapSource 166BlackoutDates

Calendar 126Blickrichtung 292Block 81, 398

alle löschen 410BreakPageBefore 403gruppieren 402TextAlignment 401Verweis auf Element 402

BlockCollection 398Blocks 398

Add() 401Clear() 410ElementAt() 402FirstBlock 402LastBlock 402

Blocksatz 401BlockUIContainer 398, 410

ändern 412hinzufügen 412

BlurEffect 284Radius 285

BlurRadiusDropShadowEffect 285

Bogensegment 255Bogen sichtbar 255Drehrichtung 256Drehwinkel 256mehr als 180 Grad 256Radius 255Zielpunkt 255

Bold 74FontWeights 56Inline-Typ 413

bool? 67BooleanAnimationUsingKeyFrames 359Border 104

BorderBrush 104BorderThickness 104CornerRadius 104

BorderBrushBorder 104Tabelle 408

448

Page 43: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

BorderThicknessBorder 104Tabelle 408

BothTickPlacement 101

BottomCanvas 30

BottomRightAutoToolTipPlacement 102TickPlacement 101

BounceEase 367Bounces 367Bounciness 367

BouncesBounceEase 367

BouncinessBounceEase 367

BoxTextMarkerStyle 405

BreakPageBeforeBlock 403

Browser 130angezeigte Seite 130darf sich in History bewegen 131in History bewegen 131navigieren zu HTML-Code 130navigieren zu URI 130Seite ganz geladen 130Seite gewechselt 130

Browseranwendung 184Brush 55, 104, 262

DiffuseMaterial 293, 316GeometryDrawing 261

BrushesTransparent 104

Button 64Basistyp 201dauernd betätigen 65

ButtonBase 201ButtonState

MouseButtonEventArgs 138By

AnimationTimeline 334Byte 263ByteAnimation 333ByteAnimationUsingKeyFrames 359

C

Calendar 122BlackoutDates 126DisplayDate 124DisplayDateEnd 126DisplayDateStart 126FirstDayOfWeek 126SelectedDate 125SelectedDates 124SelectedDatesChanged 124SelectionMode 122

CalendarBlackoutDatesCollection 126CalendarDateRange 126CalendarSelectionMode 122Camera 292Cancel

CancelEventArgs 161CancelEventArgs 161

Cancel 161CanExecute

CommandBinding 147CanGoBack

NavigationService 179CanGoBack()

WebBrowser 131CanGoForward

NavigationService 179CanGoForward()

WebBrowser 131CanMinimize

ResizeMode 171CanResize

ResizeMode 171CanResizeWithGrip

ResizeMode 171CanUserAddRows

DataGrid 235CanUserDeleteRows

DataGrid 235CanUserReorderColumns

DataGrid 235CanUserResizeColumns

DataGrid 235CanUserResizeRows

DataGrid 235

449

Page 44: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

CanUserSortColumnsDataGrid 235

Canvas 30Bottom 30Left 30LeftProperty 32Right 30Top 30TopProperty 32

Cascading Style Sheets 194Cell

DataGridSelectionUnit 235CellOrRowHeader

DataGridSelectionUnit 235Cells

TableRow 407Center

EllipseGeometry 250RadialGradientBrush 266

CenterOwnerWindowStartupLocation 170, 175

CenterScreenWindowStartupLocation 170

CenterX/Y/ZRotateTransform3D 323ScaleTransform3D 319

ChangedButtonMouseButtonEventArgs 138

ChangesTextChangedEventArgs 79

CheckBox 66Basistyp 201Checked 67IsChecked 67IsThreeState 67Unchecked 67Zustand 67

CheckedCheckBox 67RadioButton 68ToggleButton 67

Child 19BlockUIContainer 410ElementHost 438PageContent 424WindowsFormsHost 431

Children 19Add() 33FixedPage 424Remove() 34, 59TransformGroup 279Viewport3D 293

Choices 396Circle

TextMarkerStyle 405CircleEase 367Clear()

Blocks 410Items 85, 96

ClearAllBindings()BindingOperations 219

ClearBinding()BindingOperations 219

ClearContent()PromptBuilder 386

ClickCountMouseButtonEventArgs 138

Client-Bereich 29Clip 283

MediaElement 380ClipboardCopyMode

DataGrid 235Close

ApplicationCommands 147Closed

ContextMenu 116Window 160

ClosingWindow 160

CLR-Property 22cm

Größe 401Code

mehrfach verwenden 166Collapsed

Expander 109TreeViewItem 92Visibility 57

Color 56DirectionalLight 297DropShadowEffect 285EmissiveMaterial 316FromArgb() 263, 435

450

Page 45: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

GradientStop 264PointLight 305SolidColorBrush 263SpecularMaterial 316

ColorAnimation 333, 349ColorAnimationUsingKeyFrames 359, 362ColorDialog 435Colors 56Column

Grid 43ColumnDefinitions

Count 45Grid 43

ColumnPropertyGrid 44

ColumnsDataGrid 236Table 407

ColumnSpanGrid 46TableCell 408

CombinedGeometry 251Geometry1 252Geometry2 252GeometryCombineMode 253

ComboBox 88Auswahl gewechselt 90editierbar 88Eintrag 89IsEditable 88SelectionChanged 90StaysOpenOnEdit 88Text 88Text der Auswahl 88Vorauswahl 90

ComboBoxItem 89ComboBoxStyleKey

ToolBar 120COM-Komponente 438Command 422

CommandBinding 147KeyBinding 150

CommandBinding 147CanExecute 147Command 147Executed 147

CommandBindings 147CommandLine

Environment 163Commands 146CommandTarget 422

KeyBinding 150ComponentCommands 145Condition

Property 206Value 206

ConditionsMultiTrigger 206

ContainerUIElement3D 310Content 54

ContentControl 210Label 71

ContentControl 210Content 210

ContentEndFlowDocument 423Paragraph 423

ContentStartFlowDocument 423Paragraph 423

ContextMenu 116Closed 116HorizontalOffset 116IsOpen 118Opened 116VerticalOffset 116

Control 166ModifierKeys 150

Control Template 207Definition 207in Typ-Style 211mit Property Trigger 208Triggers 209Zieleigenschaft 209Zuordnung 208

ControlTemplateTargetType 208Zieltyp 208

Copy 77CopyToOutputDirectory 164CornerRadius

Border 104

451

Page 46: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

CountRemovedItems 84SelectedDates 125

Count()Args 163

CSS 74, 194, 400CubicEase 367CurrentAndNext

GridResizeBehavior 49Cut 77

D

DataPath 250, 257

DataContext 227, 230, 232DataFormats 423DataGrid 232

ausgewählte Inhalte 237Auswahl gewechselt 236AutoGenerateColumns 236CanDeleteAddRows 235CanUserAddRows 235CanUserReorderColumns 235CanUserResizeColumns 235CanUserResizeRows 235CanUserSortColumns 235CheckBox 236ClipboardCopyMode 235Columns 236ComboBox 237Daten ändern 234Daten hinzufügen 235Daten löschen 235Datenquelle 233Datensätze auswählen 235eigenes Feld 237Felder übernehmen 236GridLinesVisibility 235HeadersVisibility 235Hyperlink 237IsReadOnly 234ItemsSource 233Köpfe sichtbar 235Kopiermodus 235Linien sichtbar 235SelectedItems 237SelectionChanged 236

SelectionMode 235SelectionUnit 235Spalte sortieren 235Spalten 236Spalten tauschen 235Spaltenbreite 235Spaltentypen 235Zeilenhöhe 235Zelle auswählen 235

DataGridCheckBoxColumn 236DataGridClipboardCopyMode 235DataGridComboBoxColumn 237DataGridGridLinesVisibility 235DataGridHeadersVisibility 235DataGridHyperlinkColumn 237DataGridSelectionMode 235DataGridSelectionUnit 235DataGridTemplateColumn 237DataGridTextColumn 236DataRowView 237

Row 237DataTable 232DataTemplate 237

DataType 238Triggers 239

DataTrigger 238Bedingung 239Binding 239Value 239

DataTypeDataTemplate 238

Datei öffnenDialogfeld 434

Dateiauswahl 186Daten

externe 217Datenbank 230

Adapter 232aktualisieren 234im DataGrid 232Provider 232SQL-Befehle 234Tabelle 232Verbindung 232

Datenbindung 217aktualisieren 220alle auflösen 219

452

Page 47: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

an Auflistung von Objekten 227an Datenbank 230, 232an ObjectDataProvider 229an Objekt 224eine auflösen 219ermitteln 222gebundene Eigenschaft 218gebundenes Element 218Kontext 226Label 72ListBox 228mit Data Template 238Quelle 224, 226Richtung 219setzen 219Validierung 222Zeitpunkt 220

Datenformat 423Datenquelle

Auflistung von Objekten 227Datenbank 230, 232Object Data Provider 229Objekt 224

DatePicker 126SelectedDate 127SelectedDateChanged 127SelectedDateFormat 127

DatePickerFormat 127DateTime 122, 124, 127DateTime? 125

auf Wert prüfen 127HasValue 127

Datum 122Datumsbereiche 122Datumswähler 126

ausgewähltes Datum 127Format 127Wechsel der Auswahl 127

Datumswerte 122DayOfWeek 126DecelerationRatio

AnimationTimeline 337DecimalAnimation 333DecimalAnimationUsingKeyFrames 359Dehnung 128Delegate 158delete

SQL 234

DeltaMouseWheelEventArgs 139

DeltaManipulationManipulationDeltaEventArgs 144

Dependency Property 21Wert ermitteln 32Wert setzen 32

Dialogfeldeigenes 173

DialogResult 434Window 175

Dicke 60, 62DictationGrammar 392DiffuseMaterial 293

Brush 293, 316Digitalisiertablett 139Direction

DirectionalLight 297DropShadowEffect 285SpotLight 304

DirectionalLight 297, 302Color 297Direction 297

DirectX 13Disc

TextMarkerStyle 405DiscreteDoubleKeyFrame 359DisplayDate

Calendar 124DisplayDateEnd

Calendar 126DisplayDateStart

Calendar 126DisplayMemberBinding

GridViewColumn 232Dock

DockPanel 40TabStripPlacement 111

DockPanel 39, 113, 118, 121Dock 40DockProperty 42LastChildFill 42

DockPropertyDockPanel 42

DocumentDocumentViewer 424

DocumentViewer 424

453

Page 48: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

DokumentAbsatz 400ändern 397, 420anzeigen 397Beginn 423blättern 399, 420dynamisches 397Ende 423formatieren 400, 420mit Element 410Position 423scrollen 399, 419Seite 424statisches 397zoomen 400zum Drucken 424

double? 335HasValue 337

DoubleAnimation 333, 334DoubleAnimationUsingKeyFrames 359DoubleAnimationUsingPath 368DoubleCollection 102DoWork()

BackgroundWorker 99Drag

SystemGesture 141Drag&Drop 164

ermöglichen 184DragMove()

Window 184DrawEllipse

DrawingContext 287Drawing 259DrawingContext 287

DrawEllipse 287DrawingGroup 260DrawingImage 261Drehbuch 341Drehung

2D-Grafik 2713D-Grafik 322Touchscreen 142

Dreidimensionale Grafik 289Dreidimensionale Landschaft 329Dreieck

in 3D-Grafik 290DropShadowEffect 284

Druckvorbereiten 426Warteschlange 426

Druckenvisuelles Objekt 426

Druckerangeschaltet 428Anzahl Jobs 428Dokumentgröße 428Druckbereich 428Name 428

DurationAnimationTimeline 337TimeSeekOrigin 347

Durchsichtigkeit 183, 280DynamicResource 168Dynamische Ressource 167, 168

E

EaseInEasingMode 364

EaseInOutEasingMode 364

EaseOutEasingMode 364

Easing Function 364Modus 364

EasingDoubleKeyFrame 359EasingFunctionBase 364EasingMode

in Easing Function 364echo off 161Ecke abrunden 104EditingCommands 146, 421

ToggleBold 148Effect 284Eigenschaft

Abhängigkeits- 21zentral definieren 194

Eigenschaftselement 21Eigenschaftswert

überschreiben 196Eingabegeste 149

hinzufügen 152Sammlung 152

Eingabestift 139

454

Page 49: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

ElasticEase 367Oscillations 367Springiness 367

Elementallgemeine Eigenschaften 53andocken 39Ausrichtung 62Außenabstand 36, 61ausstanzen 283bedienbares 56binden 219Breite 36, 54Datenkontext 227, 230drehen 271Eigenschaft 20einrahmen 104entfernen 59Fokus setzen 79gestalten 30, 207gruppieren 107hervorheben 104Hintergrund 280Hintergrundfarbe 34, 55Höhe 54im Layout 56in Dokument eingebettet 410in Dokument verankern 418in Raster anordnen 42in Text eingebettet 413Inhalt 54Innenabstand 59ist geladen 160ist initialisiert 160Kontext-Info 76letztes zum Füllen 42mit Bild 64mit Schatten 284Name 19neigen 276neu erzeugen 32positionieren 30Schriftart 55Schriftdehnung 55Schriftgewicht 55Schriftgröße 55Schriftstil 55sichtbares 56

skalieren 274stapeln 35stapeln mit Umbruch 37Stil 193Tastatursteuerung 64Template 208Transparenz 280übereinander 272übergeordnetes 25, 34, 94verschieben 277verwischen 284Vordergrundfarbe 55Zuordnung lösen 34zusammenfassen 104

ElementAt()Blocks 402Inlines 76

ElementHost 436ElementName 73

Binding 218Ellipse 242, 249

Größe 250Ort 250

EllipseGeometry 249Center 250RadiusX 250

EmissiveMaterial 314Color 316

EndPointLinearGradientBrush 264LineGeometry 250

EndStyle()PromptBuilder 387

EnvironmentCommandLine 163

Ereignisangehängtes 23, 27Auslöser 26Bearbeitungsreihenfolge 202Behandlung abbrechen 204geroutetes 25, 27in 3D-Grafik 309Registrierer 26Style für Reaktion 202wiederholen 65

Ereignishandler 25Ereignismethode 203

455

Page 50: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Ereignisreihenfolge 158errorlevel 161EvenOdd

FillRule 259Event

EventSetter 203Event Trigger 350

als Ressource 351in Style 352steuert Animation 354zuordnen 355

EventArgs 26Event-Bubbling 26EventHandler

neu erzeugen 57EventSetter

Bearbeitungsreihenfolge 202Event 203Handler 203Style 202

EventTriggerRoutedEvent 351SourceName 355

Event-Tunneling 26Exclamation

SystemSounds 374Exclude

GeometryCombineMode 253Executed

CommandBinding 147Exit

Application 159, 161ExitEventArgs 160

ApplicationExitCode 163ExpandDirection

Expander 108Expanded

Expander 109TreeViewItem 92

Expander 108Aufklapprichtung 108Beschriftung 109Collapsed 109ExpandDirection 108Expanded 109Header 109in Windows Forms 436

IsExpanded 109ist aufgeklappt 109klappt auf 109klappt zu 109

ExpandSubtree()TreeViewItem 96

ExpansionVelocityManipulationVelocities 145

ExplicitUpdateSourceTrigger 220

Expliziter Style 194Exponent

ExponentialEase 368ExponentialEase 368

Exponent 368Extended

DataGridSelectionMode 235SelectionMode 85

eXtensible Application Markup Language 15

F

Farbe 56animieren 349, 362Komponente 263, 280konvertieren 435linearer Verlauf 263radialer Verlauf 265

Farbe auswählenDialogfeld 435

FarbverlaufÜbergangspunkt 264

Fenster 169Änderung der Größe 170Besitzer 174darf transparent sein 183eigenes Unterfenster 173Eigenschaft 169Ereignis 169Größe 169Größe anpassen 172Größe geändert 122Größe vorher, nachher 171Größe wurde geändert 171immer oben 171in Taskbar anzeigen 170

456

Page 51: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

ist entladen 160ist geladen 70, 122, 160ist geschlossen 160ist initialisiert 160, 214Layout-Aktualisierung 428modal anzeigen 174Navigation 175nicht-modal anzeigen 174Position wurde geändert 171Rahmenart 183Rückgabewert 175Schließen abbrechen 161Startposition 170Status 131Status wurde geändert 171Titel 169Unterfenster erzeugen 174versehentlich geschlossen 16wird geschlossen 160, 234

Fettschrift 56, 74, 148, 413FieldOfView

PerspectiveCamera 300Figure

Inline-Typ 413, 417FigureHorizontalAnchor 418Figures

PathGeometry 255FigureVerticalAnchor 418FilePrompt 384FileStream 185, 214Fill

Path 250Shape 243Stretch 128

Fill()OleDbAdapter 232

FillRuleGeometryGroup 259

FindResource() 169, 196Finger

Touch 141FirstBlock

Blocks 402FirstDayOfWeek

Calendar 126FixedDocument 424FixedPage 424

FlatPenLineCap 248

FlickSystemGesture 141

FlipXTileMode 269

FlipXYTileMode 269

FlipYTileMode 269

FlowDirectionStackPanel 36WrapPanel 38, 110

FlowDocument 81, 397FlowDocumentPageViewer 397, 420FlowDocumentReader 397, 398

ViewingMode 399FlowDocumentReaderViewingMode 399FlowDocumentScrollViewer 397, 419Focus() 79FolderBrowserDialog 434FontDialog 436FontFamily 54

TextElement 401FontSize 55, 401FontStretch 55FontStyle 55FontWeight 55Foreground 55Forever

Duration 337RepeatBehavior 337

Formatierung 400kaskadierende 74

Fortschrittist eingetreten 100Prozentsatz 100

Fortschrittsbalken 97Frame 180

Aufbau 181Datei 181erste 181Navigationsziel 181Source 181Titel 181

FromAnimationTimeline 334

457

Page 52: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

FromArgb()Color 263, 435

FullRowDataGridSelectionUnit 235

G

Gadget 182Geometrie 248

Füllregel 259gruppieren 258kombinierte 251kompakte Schreibweise 257komplexe 253Mengenlehre 253mit Bilddatei 260mit Schriftartzeichen 260mit Videodatei 260Teilfigur 253Teilsegment 254

Geometry 248, 283GeometryDrawing 261GeometryModel3D 293Viewport2DVisual3D 313

Geometry1CombinedGeometry 252

Geometry2CombinedGeometry 252

GeometryCombineModeCombinedGeometry 253

GeometryDrawing 261GeometryGroup 258

FillRule 259GeometryModel3D 293, 306

BackMaterial 297Transform 320

Gerichtetes Licht 297, 302Geste 149

Bindung 150hinzufügen 152Sammlung 152

GetAdornerLayer()AdornerLayer 286

GetBinding()Binding 222

GetInstalledVoicesSpeechSynthesizer 382

GetIntermediateTouchPoints()TouchEventArgs 142

GetPosition()MouseButtonEventArgs 138MouseEventArgs 122, 138MouseWheelEventArgs 139

GetTouchPoint()TouchEventArgs 142

GetType() 26GetValue() 22, 32, 136Glänzendes Material 314GlyphRunDrawing 260GoBack()

NavigationService 179WebBrowser 131

GoForward()NavigationService 179WebBrowser 131

GradientOriginRadialGradientBrush 266

GradientStop 264Color 264Offset 264

GradientStopCollection 265GradientStops

LinearGradientBrush 265Grafik 241, 289Grafik-Hardware 14GrammarBuilder 394, 396Grammatik

eigene 394laden 392, 396

Grid 42Anzahl der Spalten 45Anzahl der Zeilen 45Column 43ColumnDefinitions 43ColumnProperty 44ColumnSpan 46Row 43RowDefinitions 43RowProperty 44RowSpan 46Spalte hinzufügen 44Spalten 43Zeile hinzufügen 44Zeilen 43

458

Page 53: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Zellen aufspannen 46Zellgröße 46Zellgröße flexibel 47

GridLength 408GridLinesVisibility

DataGrid 235GridResizeBehavior 49GridSplitter 47

HorizontalAlignment 49ResizeBehavior 49

GridUnitType 408GridView 232

Datenbindung 232Spaltenbeschriftung 232

GridViewColumn 232DisplayMemberBinding 232Header 232

Größenänderung2D-Grafik 2743D-Grafik 319Faktor 274Verhalten 49

GroupBox 107Beschriftung 108Header 108

GroupNameRadioButton 69

GuidStylusButton 141

Gültigkeitsbereich 166Style 198, 200

H

HandSystemSounds 374

HandledRoutedEventArgs 204

HandlerEventSetter 203

HasValueDateTime? 127double? 337

Hauptelement 19Hauptmenü 113Header

Expander 109GridViewColumn 232

GroupBox 108MenuItem 114RibbonMenuItem 189TabItem 111TreeViewItem 92

HeadersVisibilityDataGrid 235

Height 54Image 128ListBox 82RowDefinition 46SizeToContent 172Window 169

HiddenVisibility 57

Hierarchie 19, 25darstellen 90von Layouts 33

Hilfestellung 15Hintergrund

durchsichtiger 280Hintergrundvorgang 98

berichtet 99darf berichten 99ist tätig 99starten 99Zustand geändert 99

HistoryNavigation 177

HoldEnterSystemGesture 141

HorizontalOrientation 36

HorizontalAlignment 63GridSplitter 49Stretch 49

HorizontalAnchorFigure 418

HorizontalContentAlignment 63HorizontalOffset

ContextMenu 116HoverEnter

SystemGesture 141HoverLeave

SystemGesture 141Hyperlink 178

Inline-Typ 413NavigateUri 178, 182

459

Page 54: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

TargetName 182Ziel 178, 182Zielframe 182

I

IAddChild 426Icon

MenuItem 114Image 65, 128

Height 128Source 65, 128, 166, 261Stretch 128Width 128

ImageBrush 267für 3D-Grafik 319ImageSource 267TileMode 267Viewbox 267ViewboxUnits 269Viewport 267ViewportUnits 269

ImageDrawing 260ImageSource 128

ImageBrush 267RibbonMenuItem 189

Impliziter Style 197in

Größe 401InAir

StylusEventArgs 140Inch 401IndexOf()

Items 95Ingebretsen 17Initialized

Element 160Window 160, 214

InitialVelocitiesManipulationInertiaStartingEventArgs

145Inline 398

BaselineAlignment 415TextDecorations 415

InlineCollection 73, 398, 412Inlines 73

Add() 75ElementAt() 76

InsertAfter() 75InsertBefore() 75Paragraph 398, 412

InlineUIContainerInline-Typ 413

InnerConeAngleSpotLight 304

InputBindings 150InputGestureCollection 152

Add() 152insert

SQL 234Insert()

Items 85, 95InsertAfter()

Inlines 75InsertBefore()

Inlines 75Installation 164Int16Animation 333Int16AnimationUsingKeyFrames 359Int32Animation 333Int32AnimationUsingKeyFrames 359Int32Collection 293

Add() 295Int64Animation 333Int64AnimationUsingKeyFrames 359IntelliSense 15Interoperabilität 431Intersect

GeometryCombineMode 253Inverted

StylusEventArgs 140IsBusy

BackgroundWorker 99IsCancel 65IsCheckable

MenuItem 114IsChecked

CheckBox 67MenuItem 116RadioButton 69ToggleButton 67

IsClosedPathFigure 255

IsDefault 65

460

Page 55: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

IsEditableComboBox 88

IsEnabled 57SpellCheck 78

IsEnabledPropertySpellCheck 79

IsExpandedExpander 109TreeViewItem 92

IsFilledPathFigure 255

IsIndeterminateProgressBar 98

IsLargeArcArcSegment 256

IsLoadedWindow 70

IsLockedToolBarTray 118

IsManipulationEnabled 142IsMoveToPointEnabled

Slider 102IsMuted

MediaPlayer 375IsOpen

ContextMenu 118IsPageViewEnabled

FlowDocumentReader 400IsReadOnly

DataGrid 234IsRepeat

KeyEventArgs 134IsScrollViewEnabled

FlowDocumentReader 400IsSelected

Selector 83, 87, 90, 112TreeViewItem 92

IsSelectionRangeEnabledSlider 102

IsSnapToTickEnabledSlider 102

IsStrokedArcSegment 255LineSegment 255

IsThreeStateCheckBox 67ToggleButton 67

IsTwoPageViewEnabledFlowDocumentReader 400

IsVisualHostMaterialViewport2DVisual3D 313

Italic 74FontStyles 56Inline-Typ 413

ItemCollection 81ItemHeight

WrapPanel 38Items 81

Add() 84, 95Clear() 85, 96Count 84IndexOf() 95Insert() 85, 95Remove() 85, 88, 96

ItemsSourceDataGrid 233ListView 231

ItemWidthWrapPanel 38

J

JustifyTextAlignment 401

K

Kachel 267Kalender 122

Anzahl ausgewählte Daten 125Anzeigedatum 124ausgeschlossene Daten 126ausgewählte Daten 124ausgewähltes Datum 125Auswahlmodus 122Datumsbereich 126erster Wochentag 126Grenzwerte 126Wechsel der Auswahl 124

KameraBlickrichtung 292für 3D-Grafik 292, 299perspektivische 299Position 292Sichtfeld 293

461

Page 56: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Kameralagefür 3D-Grafik 296, 301

Kaskadierend 74Kaxaml 17KeepTogether

Paragraph 401KeepWithNext

Paragraph 401Key 133

KeyBinding 150KeyBinding 150

Command 150CommandTarget 150Key 150Modifiers 150

KeyDown 133KeyEventArgs 133

IsRepeat 134RoutedEvent 134

Keyframes 333, 359KeyGesture 152KeySpline

SplineDoubleKeyFrame 362KeyTime

für KeyFrame 359Paced 360Uniform 360

KeyUp 133Kombinierte Geometrie 251Kommando 145, 422

ausführen 147Bindung 147darf ausgeführt werden 147geroutetes 152Sondertaste 150Tastenbindung 150Ziel 422Zielelement 150

Kommandozeile 161Komplexe Geometrie 253Kontextmenü 116

Eintrag 116ist offen 118öffnet sich 116Platzierung 116schließt sich 116synchron halten 116

Koordinatensystem 289Kopieren

in Ausgabeverzeichnis 164Kursivschrift 56, 74, 413

L

Label 71Content 71Datenbindung 72Inhalt 71Target 72

Landschaftin 3D-Grafik 329

LargeChangeScrollBar 103Slider 100

LargeImageSourceRibbon 189

LastBlockBlocks 402

LastChildFillDockPanel 42

Laufleiste 35Laufzeit 167Lautstärke

Mediendatei 376Sprachausgabe 382Sprache 389

Layerfür Verzierung 286

Layout 29Basisklasse 29Hierarchie 33kombinieren 49

LayoutTransform 271, 273Left

Canvas 30LeftClick

MouseAction 150LeftDoubleClick

MouseAction 150LeftProperty

Canvas 32LeftToRight

FlowDirection 36Leinwand

für 3D-Grafik 292

462

Page 57: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Leiste 113Lernprogramm

für Spracherkennung 390Licht 293

für 3D-Grafik 297, 302Lichtkegel 302Line 244

Koordinaten 244LinearDoubleKeyFrame 359Linearer Farbverlauf 263LinearGradientBrush 263

EndPoint 264für 3D-Grafik 319GradientStops 265StartPoint 264

LinearVelocityManipulationVelocities 145

LineBreak 65, 74Inline-Typ 413

LineGeometry 249EndPoint 250StartPoint 250

LineSegment 255IsStroked 255Point 255

Linie 244, 249Endpunkt 250Startpunkt 250

Linienende 247Liniensegment 255

Linie sichtbar 255Zielpunkt 255

ListBlock-Typ 398, 403MarkerOffset 405MarkerStyle 405StartIndex 405

ListBox 82ausgewählte Einträge 83, 87Auswahl gewechselt 83Datenbindung 228Eintrag 82Eintrag auswählen 84Eintrag sichtbar machen 84Mehrfachauswahl 85nicht mehr ausgewählter Eintrag 83

Nummer des ausgewählten Eintrags 83raumsparende Variante 88ScrollIntoView() 84SelectedIndex 83SelectedItem 83SelectedItems 87Selection_Changed 83SelectionMode 85Vorauswahl 83, 87

ListBoxItem 82Selected 83Unselected 83

Liste 82ändern 406hinzufügen 406in Dokument 403markieren 405Markierungsabstand 405

ListItem 405ListItemCollection 405ListView 230

Darstellung 231Datenquelle 231füllen 232ItemsSource 231View 231

Load()SoundPlayer 371TextRange 423XamlReader 214

LoadAsync()SoundPlayer 372

LoadCompletedWebBrowser 130

LoadedElement 160Window 122, 160

LoadGrammar() 392SpeechRecognitionEngine 396

LocationChangedWindow 171

Logische Ressource 166Long

DatePickerFormat 127LookDirection

OrthographicCamera 292PerspectiveCamera 300

463

Page 58: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

LostFocusUpdateSourceTrigger 220

LowerLatinTextMarkerStyle 405

LowerRomanTextMarkerStyle 405

M

Magere Schrift 56Main()

Window 157MainWindow.xaml 167Manipulation

Ereignis 141, 142erlaubt 142Trägheit 142

ManipulationBoundaryFeedback 143ManipulationCompleted 143, 145ManipulationCompletedEventArgs 145ManipulationDelta 142, 144ManipulationDeltaEventArgs 144ManipulationInertiaStarting 142, 144ManipulationInertiaStartingEventArgs 145ManipulationOrigin 144ManipulationStarted 142, 144ManipulationStarting 142, 144ManipulationVelocities 145Manual

SizeToContent 172WindowStartupLocation 170

Margin 36, 61MarkerOffset

List 405MarkerStyle

List 405Markup Extension 24, 218Maske 281Material 293

für 3D-Grafik 313GeometryModel3D 293

MaterialGroup 314MatrixAnimationUsingKeyFrames 359MatrixAnimationUsingPath 368Maus 136

Anzahl Clicks 138bewegt 122

Bindung 150Buttonstatus 138Click-Arten 150Ereignis 138erweiterte Taste 138Position 122, 138, 139welcher Button 138

Mausaktion 149, 152Mausrad

Änderung 139Click 150Ereignis 139Info über 136

MaustasteEreignis 138Info über 136

MaximizedWindowState 131, 171

MaximumProgressBar 98ScrollBar 104Slider 100

MaxLengthTextBox 80

Measure() 428MediaCommands 146MediaElement 378, 380MediaFailed

MediaElement 379MediaPlayer 375MediaTimeline 379Mediendatei

abspielen 375, 378, 380Fehler anzeigen 379

Menu 113Eintrag 113

Menü 113Platzierung 113

Menüband 186MenuItem 113, 116

Beschriftung 114Bild 114Header 114Icon 114IsCheckable 114IsChecked 116markierbares 114markiertes 116

464

Page 59: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

MeshGeometry3D 293TextureCoordinates 313

Microsoft Excel 14.0 Object Library 438Microsoft Ribbon for WPF.msi 186Microsoft Word 14.0 Object Library 438Microsoft.Jet.OLEDB.4.0 232Microsoft.Office.Interop 439Microsoft.Windows.Controls.Ribbon 189MiddleClick

MouseAction 150MiddleDoubleClick

MouseAction 150Mikro 390

setzen 393Minimized

WindowState 171Minimum

ProgressBar 98ScrollBar 104Slider 100

MiterPenLineJoin 248

Modales Fenster 174Mode

Binding 219Model3DCollection 308Model3DGroup 306Modell

für 3D-Grafik 306ModelUIElement3D 309

MouseEnter 310MouseLeave 310

ModelVisual3D 293ModifierKeys 150Modifiers

KeyBinding 150MouseAction

MouseBinding 150MouseBinding 150

MouseAction 150MouseButton 138MouseButtonEventArgs 136

ButtonState 138ChangedButton 138ClickCount 138GetPosition() 138RoutedEvent 138

MouseButtonState 138

MouseDown 26, 137MouseEnter 137

ModelUIElement3D 310MouseEventArgs 122, 136

GetPosition() 122, 138RoutedEvent 138

MouseGesture 152MouseLeave 137

ModelUIElement3D 310MouseMove 138

Window 122MouseUp 137MouseWheel 137MouseWheelEventArgs 136

Delta 139GetPosition() 139RoutedEvent 139

MP3-Dateiabspielen 376, 378

MPG-Dateiabspielen 380

MS Access 230MS Excel

Mappe erzeugen 439MS Excel 2010 438MS Office

in WPF 438MS Word

Dokument erzeugen 441MS Word 2010 438MS.Internal.NamedObject 237Multiple

SelectionMode 85MultipleRange

CalendarSelectionMode 123Multitouch

Ereignis 141Multi-Trigger 205MultiTrigger 206

Conditions 206

N

Name 19StylusButton 141

Namespaceeinbinden 20, 153lokaler 153, 226

465

Page 60: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Navigate()NavigationService 178WebBrowser 130

NavigatedWebBrowser 130

NavigateToString()WebBrowser 130

NavigateUriHyperlink 178, 182

Navigation 175History 177Vorwärts, Rückwärts 177

NavigationCommands 146Navigationsdienst 178NavigationService 185

CanGoBack 179CanGoForward 179GoBack() 179GoForward() 179Navigate() 178Page 178

Navigationshost 184NavigationWindow 176, 177, 181

Source 177, 181Title 181

Neigung2D-Grafik 276Winkel 276

new 33NewSize

SizeChangedEventArgs 171Nicht definiert 67, 68None

Stretch 128NonZero

FillRule 259NoResize

ResizeMode 171Normal

FontStyles 56FontWeights 56WindowState 171

NoWrapTextWrapping 74

null 68, 125, 335

O

Oberflächegestalten 29

object 71, 81, 114ObjectAnimationUsingKeyFrames 359ObjectDataProvider 230ObjectInstance

ObjectDataProvider 230Objekt

Ereignisauslöser 27Oblique

FontStyles 56ObservableCollection 228Offset

GradientStop 264SeekStoryboard 356TextChange 79

OffsetX/Y/ZTranslateTransform3D 321

OldValueRoutedPropertyChangedEventArgs 92, 103

OleDbAdapter 232Fill() 232Update() 234

OleDbCommandBuilder 234OleDbConnection 232OneTime

Mode 220OneWay

Mode 220OneWayToSource

Mode 220OnRender()

Adorner 287Opacity 280

DropShadowEffect 285OpacityMask 281Opazität 280Open()

MediaPlayer 375Opened

ContextMenu 116OpenFileDialog 434Orientation

ProgressBar 97ScrollBar 104

466

Page 61: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Slider 100StackPanel 36ToolBarTray 118WrapPanel 38

OrthographicCamera 292UpDirection 296, 301

Orthographische Kamera 292Oscillations

ElasticEase 367OuterConeAngle

SpotLight 304Owner

Window 174

P

PacedKeyTime 360

Padding 59Page 176, 178

FlowDocumentReaderViewingMode 399NavigationService 178WindowTitle 178

PageContent 424PageContentCollection 424Pages

FixedDocument 424Panel 29

ZIndex 30, 272ZIndexProperty 32

Paragraph 81, 398, 400KeepTogether 401KeepWithNext 401TextIndent 401

Parent 34, 94Parse()

TimeSpan 339PasswordBox

PasswordChar 80PasswordChar

PasswordBox 80Paste 77Path 250

Binding 218Data 250, 257Fill 250Stroke 250StrokeThickness 250

PathFigure 253IsClosed 255IsFilled 255StartPoint 255

PathFigureCollection 253PathGeometry 253, 343

Figures 255PointAnimationUsingPath 369zur Animation 368

PathSegmentCollection 254Add() 256

Pause()MediaPlayer 375SpeechSynthesizer 382Storyboard 347

PauseStoryboard 356Pen

GeometryDrawing 261PenLineCap 248PenLineJoin 248PerspectiveCamera 300Perspektivische Kamera 299Pfadanimation 368Pfadgeometrie 253, 283Pfadmarkupsyntax 257, 283Physische Ressource 164Pinsel 262

einheitliche Farbe 262linearer Farbverlauf 263radialer Farbverlauf 265

Pinseltyp 56Pixel 401

GridUnitType 408Play()

MediaPlayer 375SoundPlayer 166, 371SystemSound 375

PlayLooping()SoundPlayer 371

PlaySync()SoundPlayer 371

Point 246, 250ArcSegment 255LineSegment 255relative Koordinaten 263

Point3D 292, 293

467

Page 62: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Point3DCollection 293Add() 295

PointAnimation 333, 340PointAnimationUsingKeyFrames 359PointAnimationUsingPath 368

PathGeometry 369PointCollection 246, 313

Add() 247PointLight 302Points

Polygon 246PolyBezierSegment 254Polygon 245

Points 246Polyline 245PolyLineSegment 254, 258Polylinie 245PolyQuadraticBezierSegment 254Position

MediaPlayer 375MeshGeometry3D 293OrthographicCamera 292PerspectiveCamera 300PointLight 305SpotLight 304TouchPoint 142

Positionierungfest 30

PowerPowerEase 367

PowerEase 367Power 367

PresentationCore 436PresentationFramework 436Pressed

MouseButtonState 138Preview-Ereignishandler 25PreviewMouseDown 26PreviousAndCurrent

GridResizeBehavior 49PreviousAndNext

GridResizeBehavior 49PreviousSize

SizeChangedEventArgs 171Primitives 68PrintDialog 426

PrintQueuePrintDialog 426

PrintVisual()PrintDialog 426

ProgressBar 97Grenzwerte 98IsIndeterminate 98Lage 97Maximum 98Minimum 98Orientation 97undefinierter Zustand 98Value 98Werte 98

ProgressChangedBackgroundWorker 99

ProgressChangedEventArgs 100ProgressPercentage 100

ProgressPercentageProgressChangedEventArgs 100

ProjektDatenbank hinzufügen 231, 233, 235Element hinzufügen 164Fenster hinzufügen 173neu erzeugen 16Ressource 164Ressourcen-Wörterbuch hinzufügen 213Seite hinzufügen 178speichern 16WAV-Datei hinzufügen 372

Projektmappenexplorer 16, 164PromptBreak 389PromptBuilder 386

AppendBreak() 389AppendTextWithHint() 389ToXml() 389

PromptRate 388PromptStyle 386

StartStyle() 388PromptVolume 389Property 22

Condition 206Setter 195Trigger 205

Property Element 21Property Trigger 204, 238

in Control Template 208mehrere Bedingungen 205

468

Page 63: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

PropertyChangedUpdateSourceTrigger 220

PropertyPath 219Provider 232pt

Größe 401Punkt

Größe 401im 3D-Raum 292

Punktlicht 302px

Größe 401

Q

QuadraticBezierSegment 254QuadraticEase 367qualified double 401QuarticEase 367QuaternionAnimation 333QuaternionAnimationUsingKeyFrames 359QuaternionRotation3D 322Question

SystemSounds 374QuickInfo 76QuinticEase 367

R

Radialer Farbverlauf 265RadialGradientBrush 265

Center 266für 3D-Grafik 319GradientOrigin 266

RadioButton 69Basistyp 201Checked 68GroupName 69gruppieren 69, 107IsChecked 69Unchecked 68Zustand 68

RadiusBlurEffect 285

RadiusXEllipseGeometry 250RectangleGeometry 250

RadiusYRectangleGeometry 250

Rahmen 104Dicke 104durchsichtig 104Eckenradius 104Farbe 104

RatePromptRate 388

Rechteck 242, 249Eckenabrundung 250Ort und Größe 250

Rechtschreibungprüfen 79

RecognitionResult 392RecognizeAsync()

SpeechRecognitionEngine 394RecognizeAsyncCancel()

SpeechRecognitionEngine 394RecognizeMode 394Rect 250

RectangleGeometry 250Rectangle 242RectangleGeometry 249

RadiusX 250RadiusY 250Rect 250

RectAnimation 333RectAnimationUsingKeyFrames 359Registerkarte 111Reiter

Registerkarte 111Relative

UriKind 166, 179Released

MouseButtonState 138Remove()

Children 34, 59Items 85, 88, 96

RemovedItemsCount 84SelectionChangedEventArgs 83

RemovedLengthTextChange 79

RenderSizeAdornedElement 287

469

Page 64: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

RenderTransform 271RenderTransformOrigin 271

RenderTransformOriginRenderTransform 271

RepeatBehaviorAnimationTimeline 337

RepeatButton 65, 103ReportProgress()

BackgroundWorker 99ResizeBehavior

GridSplitter 49ResizeMode

Window 170Resource Dictionaries 169Resources

Application 168, 207Window 168

Ressource 164aktuell 214Auflistung von Objekten 228dynamische 167, 168Event Trigger 351für gesamte Anwendung 167, 207logische 166nur für Fenster 167Objekt 226physische 164Schlüssel 167statische 167, 168Storyboard 341Style 195suchen 169, 196Wörterbuch 169Wörterbuch hinzufügen 213zur Laufzeit tauschen 167

ResultSpeechRecognizedEventArgs 392

Resume()SpeechSynthesizer 382Storyboard 347

ResumeStoryboard 356RGB-Komponente 263, 280Ribbon 187

Anwendungsmenü 187Registerkarte 187

Ribbonanwendung 186RibbonApplicationMenu 187RibbonApplicationMenuItem 189

RibbonButton 189RibbonCheckBox 190RibbonComboBox 190RibbonControlsLibrary 186RibbonGallery 190RibbonGalleryCategory 190RibbonGalleryItem 190RibbonGroup 187RibbonMenuButton 190RibbonMenuItem 189, 190RibbonRadioButton 190RibbonTab 187RibbonToggleButton 190RibbonWindow 187, 189RichTextBox 80, 397, 420Richtung

im 3D-Raum 292Right

Canvas 30RightClick

MouseAction 150RightDoubleClick

MouseAction 150RightDrag

SystemGesture 141RightTap

SystemGesture 141RightToLeft

FlowDirection 36RotateTransform 271

Angle 271, 272, 274RotateTransform3D 322Rotation

2D-Grafik 2713D-Grafik 322Drehpunkt 271Drehwinkel 271in 3D-Grafik animieren 356ManipulationDelta 144

Rotation3DAnimation 333Rotation3DAnimationUsingKeyFrames 359RotationAngle

ArcSegment 256Rotationsgruppe

3D-Grafik 327Round

PenLineCap 248PenLineJoin 248

470

Page 65: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Routed Events 25RoutedCommand 152RoutedEvent 26

EventTrigger 351KeyEventArgs 134MouseButtonEventArgs 138MouseEventArgs 138MouseWheelEventArgs 139

RoutedEventArgs 27Handled 204Source 113

RoutedEventHandlerneu erzeugen 58, 157

RoutedPropertyChangedEventArgs 92, 103OldValue 92, 103

RowDataRowView 237Grid 43

RowDefinitionsCount 45Grid 43

RowGroupsTable 407

RowPropertyGrid 44

RowsTableRowGroup 407

RowSpanGrid 46TableCell 408

Rückgabeparameter 160, 163Rückwärts

Navigation 177Run 74, 401

Inline-Typ 413Run()

Application 157RunWorkerAsync()

BackgroundWorker 99

S

Save()TextRange 423

SayAs 389Scale

ManipulationDelta 144

ScaleTransform 274ScaleX 274ScaleY 274

ScaleTransform3D 319ScaleX/Y

ScaleTransform 274ScaleX/Y/Z

ScaleTransform3D 319Schaltfläche 64Schieber

Slider 100Schiene

Slider 100Schlagschatten 284Schlüssel

Control Template 207Ressource 167Style 195

Schriftformatieren 422hochgestellt 415konvertieren 436tiefgestellt 415

Schrift auswählenDialogfeld 433, 436

Schriftart 401Schriftartzeichen

in Geometrie 260Schriftgröße 401Schriftposition

vertikal 415Schriftverzierung 415Scroll

FlowDocumentReaderViewingMode 399Scrollbalken

ListBox 82ScrollBar 103

Grenzwerte 104große Änderung 103kleine Änderung 103Lage 104LargeChange 103Maximum 104Minimum 104Orientation 104SmallChange 103ValueChanged 104Wert geändert 104

471

Page 66: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

ScrollIntoView()ListBox 84

ScrollViewer 35Sichtbarkeit 36

Section 398, 402SecurityException 186Seek()

Storyboard 347SeekStoryboard 356

Offset 356SeekToFill()

Storyboard 347Seite 178

darf in History bewegen 179Daten übermitteln 179der Reihe nach 176erste 177in Frames 180in History bewegen 179Navigation 175wechseln 178

Seitenumbruch 403SelectAll()

TextBox 79Selected

ListBoxItem 83TreeViewItem 92

SelectedDateCalendar 125DatePicker 127

SelectedDateChangedDatePicker 127

SelectedDateFormatDatePicker 127

SelectedDatesCalendar 124Count 125

SelectedDatesChangedCalendar 124

SelectedDatesCollection 124SelectedIndex

ListBox 83TabControl 111

SelectedItemListBox 83

SelectedItemChangedTreeView 92

SelectedItemsDataGrid 237ListBox 87

SelectedTextTextBox 79

SelectedValueRibbonGallery 190

SelectedValuePathRibbonGallery 190

Selection_ChangedListBox 83TabControl 111

SelectionChangedComboBox 90DataGrid 236RibbonGallery 190

SelectionChangedEventArgs 83RemovedItems 83

SelectionEndSlider 102

SelectionLengthTextBox 80

SelectionModeCalendar 122DataGrid 235ListBox 85

SelectionStartSlider 102TextBox 80

SelectionUnitDataGrid 235

SelectorIsSelected 83, 87, 90, 112

SelectVoice()SpeechSynthesizer 382

sender 26Separator 62, 114SetBinding() 219

BindingOperations 219SetInputToDefaultAudioDevice()

SpeechRecognitionEngine 393SetOutputToDefaultAudioDevice()

SpeechSynthesizer 382SetOutputToWaveFile()

SpeechSynthesizer 382SetSpeedRatio()

Storyboard 347

472

Page 67: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

SetStoryboardSpeedRatio 356SpeedRatio 356

SetTargetName()Storyboard 345

SetTargetProperty()Storyboard 345

Setter 195Property 195TargetName 209Value 195

SetValue() 22, 32, 136ShadowDepth

DropShadowEffect 285Shape 241

Fill 243Füllfarbe 243Liniendicke 243Linienende 247Linienfarbe 243Stroke 243StrokeEndLineCap 247StrokeLineJoin 247StrokeStartLineCap 247StrokeThickness 243

ShiftModifierKeys 150

ShortDatePickerFormat 127

Show()Window 174

ShowDialog()PrintDialog 426Standard-Dialogfeld 434Window 174

ShowInTaskbarWindow 170

Sicherheitseinschränkung 185Sichtbarkeit 56, 108, 121, 122Sichtfeld 293SineEase 367Single

DataGridSelectionMode 235SelectionMode 85

SingleAnimation 333SingleAnimationUsingKeyFrames 359SingleBorderWindow

WindowStyle 183

SingleDateCalendarSelectionMode 123

SingleRangeCalendarSelectionMode 123

Single-Threaded Apartment Thread 156Size 255

ArcSegment 255SizeAnimation 333, 343SizeAnimationUsingKeyFrames 359SizeChanged

Window 122, 171SizeChangedEventArgs 171SizeToContent

Window 172Skalierung

2D-Grafik 2743D-Grafik 319Touchscreen 142

SkewTransform 276AngleX 276AngleY 276

Skin 212SkipStoryboardToFill 356Sleep()

Thread 98Slider 100

AutoToolTipPlacement 102Bereich markiert 102Grenzwerte 100große Änderung 100IsMoveToPointEnabled 102IsSelectionRangeEnabled 102IsSnapToTickEnabled 102Lage 100LargeChange 100Markierungsgrenze 102Maximum 100Minimum 100Orientation 100SelectionEnd 102SelectionStart 102Skala 102Skala, Platzierung 100Skala, Strichdichte 101springt nur zu Skalenstrich 102springt zu Mausposition 102TickFrequency 101

473

Page 68: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

TickPlacement 100Ticks 102ToolTip, Platzierung 102Value 100ValueChanged 100Wert 100Wert geändert 100

SmallChangeScrollBar 103

SmallImageSourceRibbon 189

SolidColorBrush 56, 262Color 263

SondertasteKommando 150

Sonderzeichenanzeigen 66

SoundLocationSoundPlayer 166, 372

SoundPlayer 166, 371Play() 166SoundLocation 166

SoundPlayerAction 375Source

Binding 226Frame 181Image 65, 128, 166, 261MediaElement 379MediaTimeline 379NavigationWindow 177, 181RoutedEventArgs 113SoundPlayerAction 375WebBrowser 130

SourceNameEventTrigger 355

SpanInline-Typ 413

Speak()SpeechSynthesizer 382

SpeakAsync()SpeechSynthesizer 382

SpeakCompletedEventHandler 386SpeechSynthesizer 382

SpecularMaterial 314Color 316SpecularPower 316

SpecularPowerSpecularMaterial 316

Speech Recognition Grammar Specification 394

Speech Synthesis Markup Language 384, 386

SpeechRecognitionEngine 392RecognizeAsync() 394RecognizeAsyncCancel() 394SetInputToDefaultAudioDevice() 393

SpeechRecognizedSpeechRecognizer 392

SpeechRecognizedEventArgs 392SpeechRecognizer 392SpeechSynthesizer 381SpeedRatio

MediaPlayer 376SetStoryboardSpeedRatio 356

SpellCheck 78IsEnabled 78IsEnabledProperty 79

Spielerei 182SplineDoubleKeyFrame 359

KeySpline 362SpotLight 302Sprache

Art der Ausgabe 389aus Datei 384Ausgabe gemäß W3C 386ausgeben 381Eingabe gemäß W3C 394Eingabegerät 393eingeben 390erkennen 390Pause 389speichern in SSML 387, 389speichern in WAV 382steuert Anwendung 394Zuhören beenden 394Zuhören starten 394zusammensetzen 381, 386

Spracherkennungeinschalten 391integrierte 392von Windows 390

Sprachgeschwindigkeit 388Sprachlautstärke 389

474

Page 69: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Sprachstil 388Springiness

ElasticEase 367SQL-Befehl 234Square

PenLineCap 248TextMarkerStyle 405

SRGS 394SSML 386Ssml

SynthesisMediaType 384StackPanel 35

Orientierung 36Richtung 36

Standard-Dialogfeld 185, 432Rückgabewert 434

StarGridUnitType 408

StartIndexList 405

StartPointLinearGradientBrush 264LineGeometry 250PathFigure 255

StartStyle()PromptBuilder 386PromptStyle 388

StartupApplication 159, 161

StartupEventArgs 160Args 163

StartupUriApplication 159

StateChangedWindow 171

STAThread 156StaticResource 168Statische Ressource 167, 168StatusBar 121Statusleiste 121

Platzierung 121StaysOpenOnEdit

ComboBox 88Stern

Größenangabe 408Steuerelement

anordnen 29Gruppen 53

Stiftberührt 140schwebt 140

Stop()MediaPlayer 375SoundPlayer 371Storyboard 347

StopStoryboard 356Storyboard 341

als Ressource 341Begin() 343, 346für Mediendatei 380Pause() 347Resume() 347Seek() 347SeekToFill() 347SetSpeedRatio() 347SetTargetName() 345SetTargetProperty() 345Stop() 347TargetName 343TargetProperty 343

Strahlendes Material 314Stretch 128

HorizontalAlignment 49, 63Image 128VerticalAlignment 63

StringAnimationUsingKeyFrames 359, 363Stroke

Path 250Shape 243

StrokeEndLineCapShape 247

StrokeLineJoinShape 247

StrokeStartLineCapShape 247

StrokeThicknessPath 250Shape 243

Style 193, 400abgeleiteter Style 199als Ressource 195BasedOn 199Basis-Style 199benannter 194Definition 195

475

Page 70: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Eigenschaft 195Eigenschaftswert 195EventSetter 202expliziter 194für Typ 197für verwandte Typen 200Gültigkeitsbereich 198, 200impliziter 197mit Event Trigger 352Sammlung 212Schlüssel 195TargetType 197Triggers 205vererben 198, 199Ziel 197Zuordnung 196, 197

Stylus 139Anzahl der Tipps 141Geste 141Schaltfläche 140, 141

StylusButtonGuid 141Name 141StylusButtonState 141

StylusButtonDown 140StylusButtonState

StylusButton 141StylusButtonUp 140StylusDevice

StylusEventArgs 140StylusDown 140StylusDownEventArgs

TapCount 141StylusEnter 140StylusEventArgs

InAir 140Inverted 140StylusDevice 140

StylusInAirMove 140StylusInRange 140StylusLeave 140StylusMove 140StylusOutOfRange 140StylusSystemGesture 140StylusSystemGestureEventArgs

SystemGesture 141

StylusUp 140Subscript

BaselineAlignment 415Superscript

BaselineAlignment 415SweepDirection

ArcSegment 256Symbolleiste 118

Platzierung 118Styles 120

Symbolleistencontainer 118ist gesperrt 118Lage 118

SynthesisMediaType 384System 124, 156System.Collections.ObjectModel 228System.Component.Model 98, 161System.Data 232System.Data.OleDb 232System.Drawing 433System.Drawing.Color 435System.Drawing.Font 436System.IO 185, 214, 377System.Media 166, 384System.Printing 426System.Speech 390System.Speech.Recognition 390System.Speech.Synthesis 381System.Threading 98System.Windows 156System.Windows.Controls 158, 224System.Windows.Controls.Primitives 68System.Windows.Forms 185, 431System.Windows.Input 152System.Windows.Markup 215, 425System.Windows.Media.Animation 333System.Windows.Media.Media3D 289System.Xaml 436SystemGesture

StylusSystemGestureEventArgs 141SystemSound 374

Play() 375SystemSounds 374Systemton

abspielen 374

476

Page 71: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

T

TabControl 111Auswahl gewechselt 111Nummer der ausgewählten Karte 111Platzierung 111SelectedIndex 111Selection_Changed 111TabStripPlacement 111

Tabelle 398, 407ändern 410hinzufügen 409Rahmen 408Spalte 407Zeile 407Zeilengruppe 407Zelle 407Zellen überspannen 408

TabItem 111Beschriftung 111Header 111

Table 398, 407Columns 407RowGroups 407

TableCell 407ColumnSpan 408RowSpan 408

TableCellCollection 407TableColumnCollection 407TableRow 407

Cells 407TableRowCollection 407TableRowGroup 407

Rows 407TableRowGroupCollection 407TabStripPlacement

Dock 111TabControl 111

TapSystemGesture 141

TapCountStylusDownEventArgs 141

TargetLabel 72

TargetNameHyperlink 182Setter 209Storyboard 343

TargetPropertyStoryboard 343

TargetTypeControlTemplate 208Style 197

Tastatur 133Tastatursteuerung 55Taste

Alt 55bedienen 133Bindung 150Enter 64Ereignis 134ESC 64F1 16Info über 133Return 64wiederholt gedrückt 134

Tastenkombination 149, 152Template 207, 237TemplateBinding 209Text

Änderung prüfen 79anhängen 75ComboBox 88Ein- und Ausgabe 71einfügen 75eingeben 77ganz markieren 79geschützter 80Länge begrenzen 80markierter Teil 79Position 76Spracherkennung 392SynthesisMediaType 384teilweise markieren 80TextBlock 73

TextAlignmentBlock 401

Textbereich 423TextBlock 73

in FixedDocument 426Inhalt 73mit Inlines 412Text 73TextWrapping 74

477

Page 72: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

TextBox 77AcceptsReturn 78MaxLength 80mehrzeilig 77mit Scrollbalken 78SelectAll() 79SelectedText 79SelectionLength 80SelectionStart 80TextChanged 77TextWrapping 78VerticalScrollBarVisibility 78

TextChange 79TextChanged

TextBox 77TextChangedEventArgs 79

Changes 79TextDecorations

Inline 415Text-Editor 80Text-Eingabe 80TextElement

FontFamily 401TextIndent

Paragraph 401TextMarkerStyle 405TextPointer 423TextRange 423Textur

für 3D-Grafik 313, 316TextureCoordinates

MeshGeometry3D 313TextWrapping

TextBlock 74TextBox 78

Thickness 60, 62, 104ThicknessAnimation 333ThicknessAnimationUsingKeyFrames 359Thin

FontWeights 56Thread

Sleep() 98ThreeDBorderWindow

WindowStyle 183Thumb 100, 103TickFrequency

Slider 101

TickPlacementBoth 101BottomRight 101Slider 100TopLeft 101

TicksSlider 102

Tile 267TileMode 269

TileModeImageBrush 267

TimeSeekOrigin 347TimeSpan 337

Parse() 339Title

NavigationWindow 181Window 169

ToAnimationTimeline 334

ToggleBoldEditingCommands 148, 422

ToggleButton 66Checked 67IsChecked 67IsThreeState 67Unchecked 67Zustand 67

ToggleUnderlineEditingCommands 422

ToLongDateString()DateTime 127

ToolBar 118ComboBoxStyleKey 120

ToolBarTray 118IsLocked 118Orientation 118

ToolTip 76ToolWindow

WindowStyle 183Top

Canvas 30TopLeft

AutoToolTipPlacement 102TickPlacement 101

TopMostWindow 171

478

Page 73: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

TopPropertyCanvas 32

ToShortDateString()DateTime 127

TotalManipulationManipulationCompletedEventArgs 145

TouchEreignis 141, 142

TouchDevice 141TouchDown 142, 143TouchEnter 142TouchEventArgs 141TouchLeave 142TouchMove 142, 143TouchPoint 142TouchPointCollection 142Touchscreen 141TouchUp 142, 143ToXml()

PromptBuilder 387, 389Track 100Trägheit

bei Manipulation 142Transform 270

GeometryModel3D 320Transform3D 319Transform3DGroup 326Transformation 270

3D-Grafik 319animieren 347mit Verschiebung 271ohne Verschiebung 271Ursprung 271

Transformationsgruppe2D-Grafik 2783D-Grafik 326

TransformGroup 278Children 279

TranslateTransform 277X 277Y 277

TranslateTransform3D 321Translation

ManipulationDelta 144Transparenz 183, 263, 280

animieren 343Effekt 281

gleitende 281Maske 281

TreeView 90alle übergeordneten Elemente 94alle untergeordneten Elemente 94ausgewählter Eintrag 92Auswahl gewechselt 92Eintrag 90Eintrag anhängen 95Eintrag einfügen 95SelectedItemChanged 92vorher ausgewählter Eintrag 92

TreeViewItem 90Beschriftung 92Collapsed 92Expanded 92ExpandSubtree() 96Header 92IsExpanded 92IsSelected 92ist aufgeklappt 92ist ausgewählt 92klappt auf 92klappt zu 92Selected 92Unselected 92Untereinträge aufklappen 96wurde abgewählt 92wurde ausgewählt 92

TrianglePenLineCap 248

TriangleIndicesMeshGeometry3D 293

Trigger 204, 351Bedingung 205, 206Control Template 209DataTemplate 239für Daten 238für Eigenschaft 204für Ereignis 350in Style 353Property 205Style 205Value 205Zielelement 209

TriggerCollection 351

479

Page 74: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

TwoFingerTapSystemGesture 141

TwoPageFlowDocumentReaderViewingMode 399

TwoWayMode 220

Typermitteln 26Umwandlung 19

Type Converter 19Typ-Style 197

mit Control Template 211vererben 199

U

UIElement 410Umgebungslicht 293, 302Umschalter 66, 68

einstellen 71Unchecked

CheckBox 67RadioButton 68ToggleButton 67

UnderlineInline-Typ 413

Undurchsichtigkeit 280Uniform

KeyTime 360Stretch 128

UniformToFillStretch 128

UnionGeometryCombineMode 253

UnloadedWindow 160

UnselectedListBoxItem 83TreeViewItem 92

Unterelement 19Unterstreichung 413

Art 415Unterstrich

Tastatursteuerung 55, 114Unterteilung 62, 114update

SQL 234

Update()OleDbAdapter 234

UpdateSource()BindingExpression 220

UpdateSourceTriggerBinding 220

UpDirectionOrthographicCamera 296, 301

UpperLatinTextMarkerStyle 405

UpperRomanTextMarkerStyle 405

Uri 166, 179UriKind 179

Relative 166

V

Validate()ValidationRule 224

ValidationResult 224ValidationRules 224

Add() 223Binding 222Validate() 224

ValueCondition 206DataTrigger 239ProgressBar 98Setter 195Slider 100Trigger 205

ValueChangedScrollBar 104Slider 100

Vector3D 292Vector3DAnimation 333Vector3DAnimationUsingKeyFrames 359VectorAnimation 333VectorAnimationUsingKeyFrames 359Vektorgrafik 14Verschiebung

2D-Grafik 2773D-Grafik 321Touchscreen 142Wert 277

480

Page 75: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

VerticalOrientation 36

VerticalAlignment 63VerticalAnchor 418VerticalContentAlignment 63VerticalOffset

ContextMenu 116VerticalScrollBarVisibility

ScrollViewer 36TextBox 78

Verzeichnis auswählenDialogfeld 434

Verzierung 286Video-Ausgabe 380Videodatei

in Geometrie 260VideoDrawing 260View

ListView 231Viewbox

ImageBrush 267ViewboxUnits

ImageBrush 269ViewingMode

FlowDocumentReader 399Viewport

ImageBrush 267Viewport2DVisual3D 311

Geometry 313IsVisualHostMaterial 313Visual 313

Viewport3D 292Children 293

ViewportUnitsImageBrush 269

Visibility 57, 108, 121, 122Visible

Visibility 57Visual

Viewport2DVisual3D 313Visual Basic 15, 17Visual C# 15, 17Visual Studio 15Volume

MediaPlayer 376PromptVolume 389SpeechSynthesizer 382

Vorlage 193WPF Ribbon Application 187WPF-Anwendung 16WPF-Browseranwendung 185

VorwärtsNavigation 177

W

WAV-Datei 166abspielen 166, 371, 375Dateiname 166laden 371

WaveAudioSynthesisMediaType 384

WebBrowser 130CanGoBack() 131CanGoForward() 131GoBack() 131GoForward() 131LoadCompleted 130Navigate() 130Navigated 130NavigateToString() 130Source 130

Weichzeichner 284WheelClick

MouseAction 150Width 36, 54

ColumnDefinition 47Image 128ListBox 82OrthographicCamera 293SizeToContent 172Tabellenzelle 408Window 169

WidthAndHeightSizeToContent 172

Window 20, 169AllowsTransparency 183Closed 160Closing 160DialogResult 175DragMove() 184Height 169Initialized 160, 214IsLoaded 70

481

Page 76: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

Loaded 122, 160LocationChanged 171Main() 157MouseMove 122Owner 174ResizeMode 170Resources 168Show() 174ShowDialog() 174ShowInTaskbar 170SizeChanged 122, 171SizeToContent 172StateChanged 171Title 169Topmost 171Unloaded 160Width 169Window_Closing() 234WindowStartupLocation 170WindowState 131WindowStyle 183

Window_Closing()Window 234

WindowsDruckdialog 426ModifierKeys 150Spracherkennung 390

Windows Formsin WPF-Anwendung 431mit WPF-Element 436Standard-Dialogfeld in WPF 432

Windows Presentation Foundation 13Windows Presentation Foundation-Host

184WindowsBase 436WindowsFormsHost 431WindowsFormsIntegration 431, 436Windows-Spracherkennung

integrierte 392WindowStartupLocation

CenterOwner 175Window 170

WindowStateWindow 131

WindowStyleWindow 183

WindowTitlePage 178

Wochentag 126WorkerReportsProgress

BackgroundWorker 99WPF 13

Eigenschaften 13Vorteile 13

WPF-AnwendungMinimal-Aufbau 155

WPF-Browseranwendung 184WPF-Interoperabilität

Toolbox-Kategorie 437Wrap

TextWrapping 74WrapPanel 37

einheitliche Größe 38FlowDirection 110Orientierung 38Richtung 38, 110

WrapWithOverflowTextWrapping 74

Würfelin 3D-Grafik 296

X

XPoint 246TranslateTransform 277

x:Class 20x:Key 195, 207x:Name 19x:Null 67x:Type 197, 238X1

Line 244X2

Line 244XAML 15

Attribut 19Editor 17Erweiterung 24mit Programmiercode 17Paketdatenformat 423

XAML Browser Application 184

482

Page 77: Einstieg in WPF...5 Inhalt 1Einführung..... 13 1.1 Vorteile der WPF ..... 13 1.1.1 Grafik in der WPF ..... 14

Index

XamlPackageDataFormats 423

XamlReader 214Load() 214

XBAP 184XML

Knoten 21XML-Datei

mit SSML 387, 389xmlns 20xmlns:x 20Xor

GeometryCombineMode 253

Y

YPoint 246TranslateTransform 277

Y1Line 244

Y2Line 244

Z

z-Achse 289Zahlenbereich

darstellen 97Wert darstellen 100

Zahlenwertedarstellen 97

Zeichenketteanimieren 363

Zeilenumbruch 65, 74, 413steuern 74, 78

Zeitspanne 339Zeitverzögerung 98Zentimeter 401ZIndex

Panel 30, 272ZIndexProperty

Canvas 32Zoom

FlowDocumentReader 400ZoomIncrement 400Zweidimensionale Grafik 241Zwischenablage 77

483