Highlights
- Windows Presentation Foundation Fundamentals
- Develop for .NET Framework; .NET Core or .NET 6
- Build WPF User Interface and learn WPF architecture
- Learn DataBinding, principles and elements
- Validation and use Validation options
- Define Behaviours
- Learn Drawing with Shapes, Geometry and Paths
- Work with Model View ViewModel (MVVM)
- Use Asynchronous Programming and Threading
Course Details
WPF Introduction
- WPF on .NET Core or .NET Framework
- Visual Studio Development Tools
- Hot Reload
- Live Visual Tree
- Tracking Focused Element
WPF Fundamentals
- WPF Overview
- WPF architecture
- Essential WPF concepts:
- Logical and Visual Tree
- Dependency Properties
- Delegates
- Routed Events
- Commands
- Class Hierarchy
XAML Basics
- XAML allows the declarative definition of a user interface. Defining a view as XAML and binding data provides the separation of view from conventional code:
- Elements
- Namespaces
- Dependency Properties
- Type Converters
- Markup Extensions
- Resources
- Lab: Create WPF Application; Explore XAML and Project structure
Building WPF User Interface
- Standard Controls
- Panels and Control Positioning
- Layout/Panels
- Attached Properties
- Windows and User Controls
- Control Templates
- Styles, Templates, Themes & Skins
- Documents & Text
Lab: Experiment with User Interface; Use standard controls, properties, styles and templates
DataBinding and Validation
- DataBinding is a very important aspect of WPF as this feature allows the separation of View from the data being presented. WPF provides a very flexible means of binding also providing an alternative to the use of events:
- Data Binding Principles
- Element Binding
- Binding to objects and collections
- Data Providers
- Data Templates
- Validation options
- Lab: Explore binding options; Bind data to controls within ‘view’
Behaviours
- Behaviours provide a means of separating common UI functionality from the basic view code:
- Behaviours and Blend
- Standard Behaviours
- Defining Behaviours
- Lab: Define a Behaviour and apply to controls
Drawing
- Shapes
- Geometry
- Paths
- Lab: Add drawing elements to enhance user interface
Model View ViewModel (MVVM)
- The MVVM approach provides a key approach to separate functionality within a WPF Application. Applying MVVM relies on a number of features of WPF:
- MVVM Principles
- Commands
- ICommand, INotifyPropertyChanged
- Dependency Injection
- Lab: Apply the MVVM approach to separate concerns
Asynchronous Programming and Threading
- Using Asynchronous programming or multiple threads within a Windows Application involves a number of important concepts and features:
- Threading Principles
- Delegates and Threads
- Asynchronous Programming
- Task Asynchronous Pattern
- Synchronization Issues
- Background Worker
- Dispatcher
- Lab: Create background thread and update UI from this thread
Who should attend
Feedback
4.8 out of 5 average
"Presenter was very accommodating, covering content to suit our group and progressing at a good pace for the group. Very useful labs, especially binding options."
RS, Application Engineer, WPF, January 2021
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022