Code: 
WPF4
Duration: 
5 Day(s)

Overview

This course provides the necessary skills and techniques to design and create rich client applications using Microsoft Visual Studio 2010 and Expression Blend 4

The course is presented as a mixture of lectures and hands-on exercises. Instructions and solutions are provided in both C# 4.0 and Visual Basic 2010, enabling you to work with your choice of language

Skills Gained

Delegates will learn how to

  • Create and manage Windows Presentation Foundation - WPF projects in Visual Studio 2010 and Expression
  • Identify the various application styles supported by WPF; stand alone, XBAP and navigation service.
  • Create and import assets using tools such as Expression Design
  • Use panel controls to layout the user interface
  • Describe the WPF event and commanding models
  • Understand the WPF 2D and 3D graphics engines
  • Create practical animations and use a combination of triggers and behaviors to control them
  • Use styles and control templates to enhance the user interface
  • Contrast custom controls and user controls
  • Author reusable controls and implement dependency and attached properties
  • Apply the Model View View-Model design pattern to their design
  • Use the powerful data binding engine to present model data to the user
  • Incorporate printing, document and XPS support
  • Enhance the responsiveness of the application by implementing asynchronous processing
  • Configure application settings and state
  • Incorporate accessibility and localisation support
  • Deploy their applications

Prerequisites

  • Delegates should already have experience of using the C# or Visual Basic .NET programming languages, which can be gained by attending one of our C# or Visual Basic .NET programming language courses
  • Knowledge of GUI programming, using technologies such as Visual Basic 6, Microsoft Foundation Classes (MFC) or WinForms would be an advantage, but it is not required
  • This course is ideal for Developers and Team Leaders who will be using Windows Presentation Foundation and the Microsoft .NET Framework to write and deploy Windows applications

Course Specifics

Course Outline

Module 1 : Fundamentals of Windows Presentation Foundation - WPF

  • This module will introduce the WPF architecture.
  • It will contrast the WinForms and WPF architectures.
  • It will present some of the key/unique features of WPF.
  • It will introduce some of the key design patterns including MVP and MVVM. Stressing the MVVM will underpin the structure and content of the course.
  • Discuss alternate application structure (WPF stand alone or XBAP). Also mention usage on other devices such as surface.
  • navigation service
  • Mention that Winforms and WPF can be combined. Interoperability will be covered later in the course.

Module 2: Creating and maintaining WPF projects in Visual Studio 2010 and Expression Blend 4

  • The structure of a WPF application
  • what is xaml
  • Interoperability between Visual Studio 2010 and Expression Blend 4.
  • Choosing the appropriate tool.
  • Mention other related tools. Also mention Sketchflow in Blend

Module 3: Building and adding assets to your WPF application

  • Mention that we can use tools such as Expression Design to create graphical assets and also import assets from photoshop, illustrator etc. So how to add/link assets.
  • Should cover the adding of binary assets such as assemblies
  • also mention adding media such as images and video.

Module 4: Designing the user interface and arranging elements

  • Drawing controls in Visual Studio
  • Drawing controls in Expression Blend, include the asset library
  • Layout. Using panels to layout the user interface.
  • Using controls. Cover two broad types, content controls and list controls
  • Managing controls. setting properties. Mention brushes.

Module 5: Handling events and commands

  • WPF event model
  • Routed events
  • Handling events
  • What are commands?
  • Handling a command
  • Is it too early to write a command or shall I defer that to the authoring controls module?

Module 6: 2D graphics and multimedia

  • 2D graphics engine
  • Shapes, geometries and brushes.
  • local and global resources. although not specifically to do with 2d graphics. the tie in nicely with brushes. i.e. brushes as a resource for reuse.
  • Displaying and manipulating images
  • Multimedia support, using mediaelement and mediaplayer.

Module 7: Animation

  • Animations and storyboards
  • creating animations in blend.
  • timelines, keyframes, easing, handoff etc.
  • Controlling storyboards with triggers and behaviors
  • Should trail this module by saying that animations are very common although usually subtle. i.e. button glow, slight bounce in list box. therefore important that we cover it BEFORE styles.

Module 8: 3D Graphics

  • Creating and manipulating 3D graphics.

Module 9: Using styles and templates to enhance the user interface

  • styles and templates BEFORE authoring controls.
  • trail that we will look at restyling existing controls BEFORE choosing to build new ones.
  • Simple style.
  • Resources revisited. XAML resource files.
  • simple template.
  • creating style and template in blend.
  • visual state manager.
  • themes

Module 10: Authoring controls

  • Custom controls and user controls
  • integrating with winforms
  • dependency properties

Module 11: Attached properties, triggers and behaviors

  • Uses for attached properties
  • uses for behaviors
  • Creating properties, triggers and behaviors.

Module 12: Testing and debugging

  • We haven't tested until now as much that has been covered did not rely on much debugging and testing
  • Test driven development - TDD
  • Suitability of MVVM for testing
  • Unit testing in Visual Studio 2010
  • Debugging in Visual Studio

Module 13: Models

  • Trail data binding.
  • We need to cover where Model comes from.
  • Put in context of MVVM.
  • Give overview of Entity framework but can mention WCF data services.
  • mention annotations

Module 14: Data binding

  • binding source, binding target
  • binding modes
  • binding to single object, daclaratively and in code
  • Binding syntax
  • Path and xpath.
  • property changed notification
  • converting
  • validating
  • design time data with expression blend
  • data templates
  • collection views
  • element binding

Module 15: Printing and document support

  • asynchronous processing
  • Printing support, documents and XPS

Module 16: Application state and settings

  • Creating user and global settings
  • Persisting and retrieving settings

Module 17: Configuring and deploying WPF applications

  • Localisation and culture
  • accessibility
  • Deployment options (standalone vs. XBAP)
  • Security settings

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. It's a cost effective option.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

Upcoming Dates

Course Location Days Cost Date
London
5 2500 £2500 2018-09-17