Home About Courses Schedule Services Webinars Contact Search

Windows Presentation Foundation Using C#


Duration: 4 Days

Method: Instructor led, Hands-on workshops

Price: $2250.00

Course Code: NE2202


This course is designed for C# programmers who will be using WPF.


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 4.0 and Visual Studio 2010.

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. Data binding is discussed in detail, including visual data binding using Visual Studio 2010 and accessing databases using the Entity Data Model. The course also covers styles, templates, skins and themes. The course concludes with a brief chapter on WPF and Windows Forms interoperation.

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


Upon successful completion of this course, the student will 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
  • Access databases using Visual Studio 2010 and the Entity Data Model
  • Learn how to interoperate between WPF and Windows Forms


A working knowledge of C# and the .NET Framework


  • I. Introduction to WPF
    • Why WPF?
    • What Is WPF?
    • .NET Framework 4.0
    • WPF Overview
    • Application and Window
    • A Simple WPF Application
    • Using Visual Studio 2010
    • Brushes
    • Panels
    • XAML
    • Role of XAML
    • Elements and Attributes
    • Namespaces
    • Property Elements
    • Type Converters
    • Content Property
    • Collections
    • XAML and Procedural Code
  • II. WPF Controls
    • Button
    • Label
    • TextBox
    • ToolTip
    • RadioButton
    • CheckBox
    • ListBox
    • ComboBox
  • III. Layout
    • Sizing
    • Positioning
    • Transforms
    • Canvas
    • Drawing Shapes
    • StackPanel
    • WrapPanel
    • DockPanel
    • Grid
    • Scrolling
    • Scaling
  • IV. Dialogs
    • Message Boxes
    • Win32 Common Dialogs
    • Custom Modal Dialogs
    • Custom Modeless Dialogs
  • V. Menus and Commands
    • Menus
    • Context Menus
    • Icons on Menu Items
    • Commands
    • Keyboard Shortcuts
    • Disabling Menu Items
    • Checking Menu Items
  • VI. Toolbars and Status Bars
    • Toolbars
    • Toolbars and Commands
    • Status Bars
  • VII. Dependency Properties and Routed Events
    • Dependency Properties
    • Change Notification
    • Property Value Inheritance
    • Support for Multiple Providers
    • Routed Events
    • Routing Strategies
  • VIII. Resources
    • Resources in WPF
    • Binary Resources
    • Logical Resources
    • Static versus Dynamic Resources
  • IX. Data Binding
    • Binding Sources
    • Sharing Sources with DataContext
    • Data Templates
    • Value Converters
    • Collection Views
    • Data Providers
    • Visual Data Binding Using Visual Studio 2010
    • Database Access Using Entity Data Model
  • X. Styles, Templates, Skins and Themes
    • Styles
    • Style Sharing
    • Triggers
    • Validation
    • Templates
    • Templated Parent’s Properties
    • Skins
    • Themes
  • XI. Windows Forms and WPF Interoperation
    • Mixing Forms and WPF Windows
    • Mixing Controls
  • Appendix A Learning Resources