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

WPF Programming 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 Using C#

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

Pricing

Face-to-face or remote-live: $2495

On-demand: $1495

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

Duration

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

On-demand: Approximately 35 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

  • Using Visual Studio to create C# applications
  • Working with .NET data types
  • Creating variables with the proper scope and using operators to build complex expressions
  • Designing and using classes
  • Using control structures such as if, while and for
  • Using procedures to build complex applications
  • Throwing and trapping exceptions using the try and catch statements
  • Using single and multi-dimensional arrays
  • Working with .NET collections
  • Using LINQ to make queries
  • Defining and implementing interfaces
  • Working with enumerations
  • 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 C# WPF programming course provides students with hands on experience using Visual Studio to create Windows Presentation Foundation (WPF) applications using C# and the .NET 4.0 - 4.8 Frameworks. The class provides a thorough introduction to the C# programming language, including coverage of the essentials of the C# programming language, built in data types, operators, control structures, classes and methods, collections and exception handling.

Students then learn 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 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. 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: debugging techniques; 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 C# WPF programming 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 already familiar with the C# language and wish to learn about WPF applications in the context of .NET Frameworks 4.0 through 4.8 may want to take the 3-day WPF Programming for Experienced C# Programmers class instead.

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 a scripting or programming language is required.

Course Overview

Introduction to .NET
  • Overview of the .NET Framework
  • How .NET is Different from Traditional Programming
  • Common Language Runtime (CLR)
  • Common Language Specification (CLS)
  • Common Type System (CTS)
  • .NET Assemblies
  • Microsoft Intermediate Language (CIL)
  • .NET Namespaces
  • .NET Framework Class Library
Introduction to Visual Studio
  • Creating a Project
  • Using the Code Editor
  • Correcting Syntax Errors
  • Setting Project Properties
  • Adding References
  • Compiling a Program
  • Running a Program
  • Debugging a Program
  • Using the MSDN (Help)
Language Fundamentals
  • C# Program Structure
  • Defining Namespaces
  • Understanding C# Data Types
  • Defining Variables and Constants
  • Comparing Value Types vs. Reference Types
  • Working with Operators and Expressions
  • Performing Type Conversions
  • Using Console I/O
  • Formatting Numbers, Date and Times
Conditionals and Looping
  • if/else
  • switch
  • while and do/while
  • for
  • foreach
Methods and Parameters
  • Defining Static and Instance Methods
  • Passing Parameters by value and by reference
  • Overloading Methods
  • Using Variable Length Parameter Lists
Exception Handling
  • What are Exceptions?
  • .NET Exception Hierarchy
  • Catching Exceptions
  • Throwing Exceptions
  • Managing Resources with Finally
Collections
  • Defining and Using Arrays
  • Understanding System.Array
  • .NET Collections vs Generic Collections
  • Working with Lists
  • Working with Dictionaries
  • Using LINQ to Objects
Object-Oriented Programming
  • Overview of Object-Oriented Programming
  • Building Classes
  • Defining Properties
  • Using Auto-Implemented Properties
  • Defining Methods
  • Understanding Constructors
  • Extending .NET Classes via Inheritance
  • Defining and Implementing Interfaces
  • Understanding the Role of Interfaces in .NET
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
 

Course Benefits

  • Course materials include student guide, hands-on lab manual and USB flash drive for examples and lab work
  • Students receive a certificate of completion at the end of class
  • Students can retake any portion of a live class that has been completed, within 12 months at no extra cost
  • There are no registration fees or cancellation fees

Reviews

The instructor has been a great teacher and I would recommend him to everyone I know. HOTT's organization has been top notch from the training to my flights and hotel.
— R.L., IT Associates

Course Schedule

Choose a city below to view a schedule and registration options. If you have any questions, please call us at 978-250-4299 between 9:00 am - 5:00 pm EST.