M10262 – Microsoft .NET Framework 4 – Windows Client Application Development

Request info

Course duration: 5 Days

Cost: £1495 + VAT

Overview

Target Audience

Technology Specialists in the area of Windows Client Development work in a development environment that uses Microsoft Visual Studio .NET 2010 and Microsoft .NET Framework 4.0 to create rich client applications for Windows.

Prerequisites

These technology specialists should have at least one year of experience developing Windows-based applications by using a recent version of Visual Studio .NET, at least six months experience with Visual Studio 2010 (including pre-release versions), and should be able to demonstrate the following:

A solid understanding of the Microsoft .NET Framework 4.0 solution stack for WinForms applications
Experience in creating data-driven user interfaces for WinForms applications
Experience in programming against the WinForms object models
Experience in deploying WinForms applications
Limited experience (100-level) with WPF and Extensible Application Markup Language (XAML) using VS2008.

Course Outline

Module 1 – Windows Client Application Design
Module Goal: The goal of this module is to ensure that students understand how varying business requirements influence the design decisions when planning a Windows Client application. Students will learn how design requirements, specifications, and business goals affect the choice between WPF and Windows Forms when updating (or planning a new) Windows Client application.

Lesson 1: Windows Client Technologies.

Describe the key Windows client technologies available to .NET Framework developers.
Key Content Areas:
Overview of the key features of Windows Forms as a Windows client technology.
Overview of the key features of WPF as a Windows client technology.
Compare and contrast Windows Forms and WPF and the suitability of each to different business and design requirements.

Lesson 2: Architectural Patterns.

Describe the key architectural patterns available to .NET Framework developers.
Key Content Areas:
Overview of key architectural patterns such as MVP and MV-VM.
Selecting the appropriate architectural pattern.

Lesson 3: Interoperability Between Windows Forms and WPF.

Identify areas for migration from Windows Forms to WPF.
Identify areas for interoperability between Windows Forms and WPF.
Overview of interoperability features between Windows Forms and WPF.
Overview of when to migrate from Windows Forms, when to integrate Windows Forms in a WPF application, and when to integrate WPF
controls into a Windows Forms application.

Module 2 – Introduction to WPF Development

Module Goal: The goal of this module is to teach students who are familiar with Windows Forms development (using Visual Studio 2008 or later) how to use the core/common WPF development tools, IDE components and features, and toolbox controls that are provided by Visual Studio 2010.

Lesson 1: What’s New in Visual Studio 2010

Use new features in Visual Studio 2010.
Overview of new features in Visual Studio 2010.

Lesson 2: Creating Applications by Using the Toolbox and Designers

Use the toolbox and designers in Visual Studio 2010.
Overview of the available controls in the Toolbox.
Overview of the visual designer for WPF.

Lesson 3: Creating Applications by Using the XAML Window

Use the XAML window to add and edit user interface elements.

Module 3 – Designing and Developing a User Interface
Module Goal: The goal of this module is to teach the student how to design and build a UI that provides the expected end-user experience and UI functionality, and retains that experience/functionality in various end-user environments, as well as when the application window resizes.

Lesson 1: Defining Page Layout

Describe the page layout model in WPF applications.
List the layout classes available in WPF.
Use panels in a WPF application.
Use grids in a WPF application.
Describe how WPF lays out a page when controls are resized or moved.
Key Content Areas:
Summarize the following layout classes: Panel, DockPanel, StackPanel, VirtualizingStackPanel, WrapPanel, Grid, and Canvas.
Show how to use various types of panel, such as Panel and DockPanel. Show the XAML and show how it appears graphically.
Show how to use a . Show the XAML and show how it appears graphically.

Lesson 2: Using Content Controls

Describe what content controls are.
Use content controls in a WPF application.
Describe what headered content controls are.
Use headered content controls in a WPF application.
Describe the ContentControl class and describe the Content property. List examples of content controls, including Button, CheckBox, ComboBoxItem, ListBoxItem, and ListViewItem.
Define a button that has a simple text content, and another button that has a UIElement (such as an Image) content.
Describe the HeaderedContentControl class and describe the Header and Content properties. List examples of headered control
controls, including TabItem, GroupBox, and Expander.
Define a TabItem that has a simple text content and another TabItem that has a UIElement (such as an Image) content.

Lesson 3: Using Item Controls

Describe what item controls are.
List some of the commonly used item controls in WPF.
Use item controls in a WPF application.
Handle item selection.
Describe the ItemsControl and HeaderedItemsControl classes. Describe the Items and ItemsSource content properties.
List examples of item controls, including Menu, ComboBox, ListBox, ListView, TreeView, and Selector.
Define menu items and list items in XAML, and how to add items dynamically in C# or VB code.
Write event handlers to handle item selection in a menu and a list.

Lesson 4: Sharing Logical Resources in a Window

Describe the benefits of defining and using resources in a WPF application.
Define window-specific static resources.
Access resources programmatically in a window.
Define and use dynamic resources.
Explain that resources enable commonly defined objects and values to be reused consistently in a window. Mention that resources can be defined and referenced in XAML and in code.
Explain that every framework-level element has a Resources property. Describe , , and as common examples. Describe how resources work internally.
Show an example of how to define window-specific static resources in XAML, and how to use the resource to set a property value.
Describe the scope of window-specific resources.

Module 4 – Taking Control of the User Interface
Module Goal: The goal of this module is to enable students to create a consistent and manageable user interface.

Lesson 1: Sharing Logical Resources in an Application

Define application-wide static and dynamic resources.
Reuse resources across applications.
Show an example of how to define application-wide static and dynamic resources in XAML, and how to use the resource to set a
property value. Describe the scope of application-wide resources.
Define a resource dictionary in a theme, so that resources can be shared across applications.

Lesson 2: Creating Consistent User Interfaces by Using Styles

Describe the benefits of defining and using styles in a WPF application.
Define styles in a XAML file.
Define styles that are based on other styles.
Set styles programmatically.
Explain that styles enable you to define common user interface properties. Mention that styles can be defined in XAML and in code.
Explain the syntax for defining styles in XAML (specify the TargetType and define property setters). Mention that you typically define styles in the Resources section of XAML, to achieve reusability.
Show how to define a simple