Contact Us: 978.250.4983
Software Skills Training, Inc.

Windows Presentation Foundation Programming Using C#

Attend face-to-face, remote-live or via on-demand training

Windows Presentation Foundation Programming Using C#

Duration: 5 Days (Face-to-Face or Remote-Live), or 35 hours of coursework with personal facilitation over a four week span (On-Demand)

US Price: $2495 (Face-to-Face or Remote-Live), or $1495 (On-Demand)

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

Registration: Click here to view upcoming schedules and register for face-to-face sessions, click here to register for live remote attendance sessions, or click here to register for on-demand training with a start date that is convenient for you.

Schedule View the course schedule

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. 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.

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
 

Related Training

Course
Windows Presentation Foundation Programming for Experienced C# Programmers
Windows Presentation Foundation Programming Using .NET Core

Training Locations

Choose a city below to view a schedule for in-person classes. Courses may also be taken via our Online Remote Attendance and On-Demand training options.