Optional: Überblick .NET sowie notwendige Grundlagen der Sprachsyntax C# oder Visual Basic .NET
Einführung
- Kurze Einführung zur Historie und den Zielen von WPF
- Architektur der Windows Presentation Foundation (WPF)
- Voraussetzungen, Möglichkeiten und Herausforderungen
- WPF in klassischen .NET Framework vs. WPF im modernen .NET
- Optional: Unterschiede zu Windows Forms
Deklarative Programmierung mit der Extensible Application Markup Language (XAML)
- Typen, Namensräume, Eigenschaften
- (Attached) Dependency Properties
- Events
- Markup Extensions
Layout
- Layoutprinzipien: Layoutcontainer und Contentcontrols
- StackPanel, DockPanel, WrapPanel, TextBlock, Grid
WPF-Steuerelemente (Controls)
- Eingabesteuerelemente
- Darstellungssteuerelemente
XAML-Werkzeuge
- Visual Studio: Designer, XAML-Editor, Property Windows, Debugger, Hot Reload
- Microsoft Blend for Visual Studio (Bedienung, Vor-/Nachteile/Unterschiede zu Visual Studio)
- Andere XAML-Werkzeuge
Ressourcen
- Ablage
- Unterschied der Einbindung (StaticResource, DynamicResource)
Datenbindungen
- Quellen, Ziele
- Einfache Bindungsmechanismen (Richtung, Update-Verhalten, Textformatierung, Kultureinstellungen)
- Konverter (Converter)
- Bindung an POCOs, INotifyPropertyChanged, INotifyCollectionChanged, ObservableCollection
- Data Context als Quelle
- Data Templates
- Validierung/Validation
- Unterstützung in Blend und Visual Studio
- Beispieldaten im Designer anzeigen
- Troubleshooting/Fehlerdiagnose von XAML-Datenbindungen
Model-View-ViewModel (MVVM)-Pattern
- Das MVVM-Konzept
- Umsetzung von MVVM
- MVVM-Toolkits
Gestaltung und Wiederverwendung
- User Controls
- Formatvorlagen (Styles)
- Control Templates
Ereignisse und Interaktion
- Commands und Command-Binding
- Ereignisbasiertes Programmieren und Event Routing
Ausblick
- Weitere Möglichkeiten von WPF
Optional
- XAML in der WinUI3 und .NET MAUI: Ähnlichkeiten und Unterschiede zu WPF