WPF und MVVM mit Visual Studio 2017

In diesem Seminar wird gezeigt, wie man mit WPF Programme mit einer graphischen Windows-Benutzeroberflächen schreiben kann. Es richtet sich an Software-Entwickler in Firmen, die Programme für den professionellen Einsatz schreiben wollen.

Der Dozent Prof. Richard Kaiser hat bereits weit über 100 Firmenseminare über C# und C++ gehalten. Zu seinen Kunden gehören renommierte Weltkonzerne und kleine und mittelständische Unternehmen. Er kennt die Anforderungen der Praxis und geht sowohl in den grundlegenden Konzepten als auch in den Einzelheiten detailliert darauf ein.

Inhalt

Die Inhalte können an die Wünsche der Teilnehmer angepasst werden.

1 Elementare WPF-Konzepte: Ein erstes kleines Programm

2 Die üblichen Steuerelemente (Common Controls)

2.1 Die Klasse MainWindow und der Zugriff auf Steuerelemente
2.2 Labels, Datentypen und Compiler-Fehlermeldungen
2.3 Methoden und das Steuerelement TextBox
2.4 Vererbung und Komposition bei ListBox und ComboBox
2.5 Buttons und Ereignisse
2.5.1 Parameter der Ereignisbehandlungsmethoden
2.5.4 Verschachtelte Steuerelemente: Buttons mit Bildern
2.5.5 Die Weiterleitung von Ereignissen bei verschachtelten Steuerelementen
2.5.6 Die Basisklasse ButtonBase
2.6 CheckBoxen, RadioButtons
2.7 Container-Steuerelemente: GroupBox und TabControl
2.8 Hauptmenüs und Kontextmenüs
2.9 Standarddialoge
2.10 Modale Dialoge

3 XAML

3.1 Die XML-Syntax für XAML
3.1.1 XML-Elemente, XML-Attribute und die erzeugten C#-Objekte
3.1.2 Namensbereiche: Ein erster Einblick
3.1.3 Kommentare
3.1.4 XML-Steuerzeichen
3.2 Die Code-Behind Klasse
3.3 Stammelemente
3.3.1 Window-basierte WPF-Anwendungen
3.3.2 Page-basierte WPF-Anwendungen
3.4 Namensbereiche
3.4.1 Die Elemente der Namensbereichs ../presentation
3.4.2 Die Elemente des Namensbereichs ../xaml
3.4.3 CLR-Namensbereiche
3.4.4 mc:Ignorable
3.5 Objekteigenschaften in XAML setzen
3.5.1 Die Attribut-Syntax
3.5.2 Die Property-Element Syntax
3.5.3 Default-Eigenschaften und die Content-Property
3.5.4 Die Attached Property Syntax
3.5.5 Eventhandler
3.6 Typkonversionen in XAML
3.6.1 Typkonverter
3.6.2 Markup-Extensions
3.7 Baumstrukturen
3.8 Das XAML Serialisierungsformat

4 Commands

4.1 Das Interface ICommand
4.2 Vordefinierte Commands
4.3 Ein Command für mehrere Steuerelemente
4.4 Steuerelemente mit eingebauten Commands

5 Layout-Container

5.1 Gemeinsamkeiten der Layout-Container
5.2 Einfache Layout-Container
5.2.1 StackPanel
5.2.2 WrapPanel
5.2.3 UniformGrid
5.3 Grid
5.3.1 Ein Grid ohne Zeilen- und Spaltendefinitionen
5.3.2 Ein Grid mit Zeilen und Spalten
5.3.3 Zeilen und Spalten zusammenfassen
5.3.4 Relative Zeilen- und Spaltengrößen
5.3.5 Variable Zeilen- und Spaltengrößen mit einem GridSplitter
5.4 DockPanel
5.4.1 Ein DockPanel mit einer ToolBar, einer Statusbar und einem Menu119
5.4.2 Ein DockPanel mit einem zweispaltigen Grid wie im Windows Explorer 119
5.4.3 Ein DockPanel mit einem TabControl
5.4.4 Eine DialogBox
5.5 Canvas und 2D-Grafiken

6 Die Gestaltung von Oberflächen mit Blend

7 Dependency Properties

7.1 Vorteile von Dependency Properties gegenüber gewöhnlichen Eigenschaften
7.1.1 Speicherersparnis
7.1.2 Dynamische Eigenschaften
7.2 Die Definition und Registrierung einer Dependency Property
7.3 Metadaten von Dependency Properties

8 Ressourcen

8.1 File Ressourcen
8.2 Objekt Ressourcen
8.2.1 Ressourcen Collections
8.2.2 Ressourcen-Hierarchien
8.2.3 Der Zugriff auf System-Ressourcen
8.2.4 Der Zugriff auf Ressourcen im Code
8.3 Ressourcen-Dictionaries
8.3.1 Die Definition und Verwendung von Ressource Dictionaries
8.3.2 Ressourcen in mehreren Assemblies verwenden

9 Styles

9.1 Eigenschaften in Styles setzen und verwenden
9.2 Styles für bestimmte Klassen und Style-Hierarchien
9.3 EventSetter, Trigger und EventTrigger

10 Datenbindung

10.1 Datenbindung an Elemente (Element Binding)
10.1.1 Der Bindungsausdruck
10.1.2 Bindungsfehler
10.1.3 Bindungsrichtungen
10.1.4 Bindungen im Code Behind
10.2 Konverter
10.2.1 Die StringFormat Eigenschaft zur Formatierung von vordefinierten Datentypen
10.2.2 ValueConverter (IValueConverter implementieren) – BoolToVisibleConverter
10.3 Binden an Collections von Objekten
10.3.1 Daten aus einer Collection mit einer ItemSource darstellen
10.3.2 Vorlagen zur Formatierung von Daten (Data Templates)
10.3.3 Der DataContext
10.3.4 Den Inhalt der Collection verändern mit ObservableCollection
10.3.5 An einen LINQ-Ausdruck binden
10.3.6 Change Notification (INotifyPropertyChanged)

11 MVVM

11.1 Ein minimales Beispiel
11.2 Das Model
11.3 Der View
11.4 Das Viewmodel

12 Multimedia

12.1 2D-Grafik
12.2 3D-Grafik

Beurteilungen von Teilnehmern dieses Seminars:

Organisatorisches:

Zielgruppe: Software-Entwickler, die lernen wollen, wie man in Visual Studio Benutzeroberflächen mit WPF erstellt und dabei das MVVM Pattern umsetzt.

Voraussetzungen: Gute C#-Kenntnisse

Methodik: Vortrag mit vielen Beispielen, die die Inhalte veranschaulichen. Eine ausgewogene Verbindung von Theorie und Praxis. Das Manuskript enthält zahlreiche praxisnahe Übungsaufgaben, mit denen die Teilnehmer ihr Wissen selbständig vertiefen können.

Manuskript: Ausführliche und detaillierte Schulungsunterlagen (ca. 200 Seiten)

Ort und Zeit: Dieses Seminar wird als Firmenseminar (inhouse) angeboten.

Dauer: 5 Tage