Windows Presentation Foundation Using C#

Current Version: 2.0
Summary

This course introduces Windows Presentation Foundation or WPF (Avalon), the new .NET technology from Microsoft for building rich Windows applications. It was originally part of .NET 3.0, previously called WinFX by Microsoft. WPF includes an XML-based markup language for defining program elements, Extensible Application Markup Language (XAML). WPF applications can be created using only code or a combination of code and XAML pages. This course covers the essentials of WPF, providing an orientation to this technology and a firm foundation for creating applications. The course is current to .NET 3.5 and Visual Studio 2008.

WPF is a complex technology that can have a steep learning curve. This course approaches the subject in a practical manner, introducing the student to the fundamentals of creating Windows applications using the features of WPF. It includes coverage of both traditional concepts such as controls and new concepts such as XAML, flexible layout, logical resources, dependency properties, routed events, and the loosely-coupled command architecture of WPF. The course also covers data binding, styles, templates, skins and themes.

The course is hands-on with many example programs and lab exercises.

Prerequisites
  • A working knowledge of C# and the .NET Framework
Course Objectives
On completion of this course, the student should be able to
  • Gain an understanding of the philosophy and architecture of WPF
  • Create Windows applications using the classes provided by WPF
  • Understand the principles of XAML and create applications using a combination of code and XAML
  • Use the layout features of WPF to create flexible and attractive user interfaces
  • Implement event and command-driven applications with windows, menus, dialogs, toolbars, and other common user interface features
  • Use more advanced features of WPF such as dependency properties, routed events, logical resources, styles, templates, and data binding
Length
4 Days

Format
Instructor-led course, with practical computer-based exercises.

Course Outline

  • 1. Introduction to WPF
    • Why WPF?
    • What Is WPF?
    • .NET Framework 3.0 (WinFX)
    • WPF Overview
    • Application and Window
    • A Simple WPF Application
    • Using Visual Studio
    • Brushes
    • Panels

  • 2. XAML
    • Role of XAML
    • Elements and Attributes
    • Namespaces
    • Property Elements
    • Type Converters
    • Content Property
    • Collections
    • XAML and Procedural Code

  • 3. WPF Controls
    • Button
    • Label
    • TextBox
    • ToolTip
    • RadioButton
    • CheckBox
    • ListBox
    • ComboBox

  • 4. Layout
    • Sizing
    • Positioning
    • Transforms
    • Canvas
    • Drawing Shapes
    • StackPanel
    • WrapPanel
    • DockPanel
    • Grid
    • Scrolling
    • Scaling

  • 5. Dialogs
    • Message Boxes
    • Win32 Common Dialogs
    • Custom Modal Dialogs
    • Custom Modeless Dialogs

  • 6. Menus and Commands
    • Menus
    • Context Menus
    • Icons on Menu Items
    • Commands
    • Keyboard Shortcuts
    • Disabling Menu Items
    • Checking Menu Items

  • 7. Toolbars and Status Bars
    • Toolbars
    • Toolbars and Commands
    • Status Bars

  • 8. Dependency Properties and Routed Events
    • Dependency Properties
    • Change Notification
    • Property Value Inheritance
    • Support for Multiple Providers
    • Routed Events
    • Routing Strategies

  • 9. Resources
    • Resources in WPF
    • Binary Resources
    • Logical Resources
    • Static versus Dynamic Resources

  • 10. Data Binding
    • Binding Sources
    • Sharing Sources with DataContext
    • Data Templates
    • Value Converters
    • Collection Views
    • Data Providers

  • 11. Styles, Templates, Skins and Themes
    • Styles
    • Style Sharing
    • Triggers
    • Validation
    • Templates
    • Templated Parents Properties
    • Skins
    • Themes

  • Appendix A. Learning Resources

Hardware and Software Requirements

The following software is required:

A version of Windows that supports the .NET Framework 3.5. This includes Windows XP with at least Service Pack 2 and Windows Vista.

The .NET Framework 3.5.

Visual Studio 2008 Standard Edition or higher.

A good minimal hardware profile for this course would have a 1 GHz or better CPU, 512 MB of RAM, and at least 4 GB of free disk space for tools installation and courseware.

See the appropriate course Setup Guide for details.


Go to course catalogue