Learn to build modern Windows desktop applications with WPF and WinUI using XAML, MVVM, data binding, templating, styling, and Windows App SDK patterns.
Building XAML-based Windows Desktop Applications with WPF and WinUI
Duration: 5 days
WPF introduced XAML for rich Windows desktop apps. UWP added compiled bindings and modern controls. Today, WinUI with the Windows App SDK combines those strengths into the modern Windows app platform. Whether you target WPF or WinUI, this course covers the differences, shared XAML fundamentals, including the latest capabilities in .NET 10.
Who Should Attend
- C# developers who want to build desktop applications using XAML, WPF, and WinUI
- WPF developers modernizing applications with WinUI and Windows App SDK
- Teams building rich Windows desktop experiences
- Engineers leveraging .NET 10 features for desktop applications
Prerequisites
- Working knowledge of C#
- Basic understanding of object-oriented programming
- Familiarity with .NET development is helpful
Learning Goals
- Understand XAML fundamentals and differences between WPF and WinUI
- Build responsive, data-driven desktop UIs with modern controls
- Master data binding, MVVM pattern, and view composition
- Implement navigation, styling, and theming
- Create custom controls and reusable components
- Apply animations, visual states, and user interactions
- Package and deploy Windows desktop applications via MSIX
Course Content
- Windows App SDK fundamentals and project setup
- Differences between WPF, UWP, and WinUI; migration considerations
- XAML purpose, elements, and attributes
- Dependency properties and routed events
- Attached properties and markup extensions
- WinUI controls and WPF control comparisons
- Data binding (compiled bindings where supported), change notification, value converters
- Layout panels and responsive patterns
- Navigation patterns in WinUI and WPF
- Triggers and behaviors
- MVVM pattern; source generators for boilerplate reduction (C# 14 features: primary constructors, collection expressions where appropriate)
- User controls and custom controls
- Messaging with events and weak references
- Resource dictionaries, styles, and theming (light/dark/high contrast)
- Geometry elements, shapes, transforms, and brushes
- Control templates and data templates
- Animations and the Visual State Manager
- App lifecycle, contracts, and notifications
- Accessibility, localization, and high DPI considerations
- Packaging and deployment via MSIX; WinAppSDK updates
Hands-on Labs
- Build a WinUI 3 application with modern Windows App SDK features
- Create a WPF application demonstrating XAML and data binding patterns
- Implement MVVM pattern with source-generated view models using C# 14 features
- Design custom controls and control templates
- Apply styling, theming, and resource dictionaries for light/dark modes
- Add animations and visual state transitions
- Package applications with MSIX for distribution
Outcomes
By the end of this workshop, you will be able to design and build professional Windows desktop applications using XAML with either WPF or WinUI, applying modern patterns, leveraging C# 14/.NET 10 capabilities, and delivering polished user experiences for the Windows platform.