Call us at 1-800-413-0939
Hands On Technology Transfer

WPF Training Course

Attend face-to-face, remote-live, on-demand or on site at your facility.

On-Demand Training with Personal Facilitation
Top

Windows Presentation Foundation Programming for Experienced C# Programmers

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training.

Pricing

Face-to-face or remote-live: £1345

On-demand: £1145

Discounts: We offer multiple discount options. Click here for more information.

Duration

Face-to-face or remote-live: 3 Days

On-demand: Approximately 21 hours of coursework with personal facilitation, to be completed in a four week span.

Registration

Face-to-face: Click here to view our schedules and register for in-person sessions.

Remote-live: Click here to register for live remote class sessions within a date range of your choosing.

On-demand: Click here to register for on-demand training with personal facilitation, on a start date of your choosing.

Students Will Learn

  • Creating a WPF application
  • Working with XAML
  • Writing XAML markup to create controls, define property values and setup events
  • Using the WPF layout controls to build user interfaces
  • Writing event handlers
  • Enhancing the user interface of an application with the addition of menu, toolbar and status bar support
  • Using predefined dialogs
  • Creating and using custom dialogs
  • Using brushes, shapes and animations within WPF user interfaces
  • Using WPF data binding to quickly build applications
  • Building applications using the MVVM design pattern
  • Calling Web Services
  • Deploying WPF applications

Course Description

This course provides students with hands on experience using Visual Studio to create Windows Presentation Foundation (WPF) applications using C# and .NET Frameworks 4.0 - 4.8. Students should already have a working knowledge of C# before taking this course.

This course teaches students how to leverage the power of the .NET Framework to build WPF applications. Students learn the basics of XAML and how to use it to describe the appearance and behavior of WPF user interfaces.

Students also learn how to use XAML resources to manage styles, triggers and control templates.

Students learn how use with a variety of WPF controls to interact with users and manage data in multi-form applications. Students explore how to leverage the power of XAML data binding to build Students also learn the basics of working with images and simple animations.

Students learn how to use their data binding and command skills to implement the MVVM design pattern with WPF applications, including case studies. Students will also learn how to leverage the power of web services by calling both SOAP services and RESTful APIs.

Other topics include: building menus, toolbars and status bars; reading and writing files; and deploying WPF applications. Comprehensive labs and exercises provide the students with extensive experience creating and debugging WPF applications.

This course provides thorough coverage of the use of Windows Presentation Foundation (WPF) to build desktop applications. Students requiring additional coverage of Windows Forms, ASP.NET Web Forms, ASP.NET MVC or WCF should contact HOTT or refer to HOTT's complete course listing for additional training courses.

Students who are not familiar with the C# language should take the 5-day Windows Presentation Foundation Programming Using C# class instead, to gain fundamental C# skills before working with WPF applications in the context of .NET Frameworks 4.0 through 4.8.

Students who are already familiar with the C# language and wish to learn about WPF applications in the context of the .NET Core Framework may be better served taking the 3-day WPF Programming Using .NET Core class instead

Course Prerequisites

Knowledge of fundamental XML syntax is helpful, but not required. Prior experience with C# is required.

Course Overview

WPF Applications
  • WPF Applications
  • Types of WPF Applications
  • Structure of WPF Applications
  • Using the WPF Designer
  • Setting Properties
  • Handling Events
  • Using the MessageBox Class
  • Passing Command-Line Arguments
  • Handling Application Lifetime Events
Working with XAML
  • XAML vs. BAML
  • Understanding XAML Markup
  • XAML Elements
  • XAML Namespaces
  • Creating Objects using XAML
  • Working with Resources
  • Handling Events in XAML
  • Working with Resources
  • Defining and Using Styles
WPF User Interface Basics
  • WPF Control Hierarchy
  • Common Properties, Methods and Events
  • Dependency Properties
  • Configuring a Window's Properties
  • Adding Controls
  • Controlling the UI's Appearance
    • Managing Size
    • Managing Position
    • Managing Alignment
    • Managing Visibility
    • Using Fonts
  • Working with Transformations
    • Scale Transformations
    • Rotation Transformations
    • Skew Transformations
Using XAML Layout Elements
  • Overview of Layout Elements
  • Using the Canvas
  • Using the StackPanel
  • Using the WrapPanel
  • Using the Grid
  • Using the UniformGrid
  • Using the DockPanel
  • Using the ViewBox
  • Adding Scrolling Capabilities
Using WPF Controls
  • Working with WPF Controls
  • Using Text Controls
  • Using Button Controls
  • Using Selection Controls
  • Using List Controls
  • Using Container Controls
  • Working with Routed Events
Working with Styles, Triggers and Control Templates
  • Using Styles
  • Working with Triggers and Multi-Triggers
  • Using Control Templates
Working with WPF Windows
  • Understanding Modal vs Modeless
  • Displaying a Window Modally
  • Retrieving Data from Modal Windows
  • Creating Owned Windows
  • Displaying a Window Modelessly
  • Working with Data in Modeless Windows
  • Using Common Dialogs
  • Creating Irregularly Shaped Windows
Working with Menus, Toolbars and Status Bars
  • Working with Menus
  • Working with Toolbars
  • Working with Status Bars
  • Working with the Ribbon
Working with Images, Colors and Animations
  • Working with Images
  • Working with Shapes
  • Working with Brushes
  • Using Solid Brushes
  • Using Gradient Brushes
  • Building Simple Animations
Working with Data Binding
  • Overview of Data Binding
  • Binding to Control Properties
  • Binding to Data Sources
    • Binding to a List
    • Binding to an ADO.NET Object
    • Binding to an Object
    • Binding to XML
  • Sorting and Filtering Data
  • Using Value Converters
  • Working with Change Notifications
MVVM Commands
  • Understanding Commands
  • Creating Commands
  • Associating Command with a Command Source
  • Binding Command to Command Handlers
  • Building WPF Applications Using the MVVM Design Pattern
    • Understanding MVVM
    • Implementing INotifyPropertyChange
    • Using a DelegateCommand
    • Working with ObservableCollections
    • MVVM Case Studies
Calling Web Services
  • Understanding Web Services
  • Calling SOAP Services
  • Calling REST Services
  • Serializing and Deserializing JSON
Deploying WPF Applications
  • Understanding Deployment Options
  • Configuring an Application for Deployment
  • Using XCOPY Deployment
  • Using Installers
  • Using Click-Once Deployment
 

Related Courses

Testimonials

Instructor was well prepared and engaging. Explained and presented material very well. Excellent use of real world examples at times.
— M.L., Bryan Texas Utilities


Overall the course was a very good introduction to WPF. Having worked with WPF for some time, it really helped connect a lot of dots for me. It was definitely worth the time and expense. The video lectures were very well done and perfectly matched the student guide. The exercises offered a way to consolidate the lectures and were a good mix of hand-holding and free-form. For a three day course it was packed with information. I would definitely recommend this training to others seeking a formal introduction to WPF.
— M.B., US Army CCDC Ground Vehicle Systems Center

Course Schedule

Choose a city below to view a schedule and registration options. If you have any questions, please call us at 1.800.413.0939 between 9:00 am - 5:00 pm Eastern Standard Time.