Developing Windows Applicationw ith Microsoft Visual Studio 2010

  • Overview
  • Prequisites
  • Course Details
  • Description

    In this course, experienced developers who know the basics of Windows Forms development gain more advanced Windows Client design and development skills. WinForms and WPF programming models, as well as relative strengths and when to use each technology, are covered.

    Audience Profile

    This course is intended for Technology Specialists in the area of Windows Client Development who 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

    Before attending this course, students must have:
    An understanding of the problem-solving techniques that apply to software development, including the following principles of software development:
    modern software development models
    typical phases of a software development lifecycle
    concepts of event-driven programming
    concepts of object-oriented programming
    creating use-case diagrams
    designing and building a user interface
    developing a structured application
    A general understanding of the purpose, function, and features of following .NET Framework topics:
    Common Language Runtime
    .NET Framework class library
    Common Type System
    Component interoperation
    Cross-Language Interoperability
    Assemblies in the Common Language Runtime
    Application Domains
    Runtime hosts supported by the .NET Framework
    Experience using Visual Studio 2008 in the following task areas:
    Declaring and initializing typed variables using the Camel case naming convention
    Using arithmetic, relational, and logical operators in code statements
    Using branching statements to control code execution
    Using looping statements to iterate through collections or repeat steps until a specified condition is met
    Creating classes and methods to establish the basic structure of an application
    Using methods and events to implement the programming logic of an application
    Identifying syntax and logic errors
    Accessing and managing data from a data source
    Experience in object oriented design and development as follows:
    Creating and accessing classes and class properties
    Creating and accessing methods and overloaded methods
    Implementing inheritance, base classes, and abstract classes
    Declaring, raising, and handling events
    Responding to and throwing exceptions
    Implementing interfaces and polymorphism
    Implementing shared and static members
    Implementing generics
    Creating components and class libraries
    Experience in N-Tier application design and development as follows:
    Managing a software development process
    Controlling input at the user interface level in Windows Client applications
    Debugging, tracing, and profiling .NET applications
    Monitoring and logging .NET applications
    Implementing basic testing best practices
    Performing basic Data Access tasks with LINQ þBasics of LINQ to XML þBasics of LINQ to Entities þBasics of LINQ to SQL
    Implementing basic security best practices in .NET Applications þBasics of Code Access Security þBasics of Role-Based Security þBasics of Cryptography Services
    Implementing basic service calls þBasics of consuming XML Web Services þBasics of consuming WCF Services
    Using .NET Configuration Files
    Deploying .Net Framework Applications using ClickOnce and the MS Installer

  • Course Details

    MS 10262

    5 Days

    Module 1: Windows Client Application DesignThe 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.Lessons

    • Windows Client Technologies
    • Architectural Patterns
    • Interoperability between Windows Forms and WPF

    Lab : Planning Windows Client Applications

    • Identify Windows Client Technologies
    • Choosing Design Patterns
    • Lab Application Guided Walk-Through
    After completing this module, students will be able to:
    • Choose appropriate Windows client technologies
    • Choose appropriate architectural patterns
    • Identify areas for migration from WinForms
    • Identify areas for interoperability between WinForms and WPF

    Module 2: Introduction to Visual Studio 2010 and WPF Version 4The goal of this module is to introduce students to the new features that Visual Studio 2010 and WPF version 4 provideLessons

    • What’s New in Visual Studio 2010?
    • What’s New in WPF Version 4

    Lab : Guided Tour of Visual Studio 2010 and XAML

    • Guided tour of Visual Studio 2010
    • Guided tour of XAML Editor
    After completing this module, students will be able to:
    • Use new features in Visual Studio 2010
    • Use new features in WPF version 4

    Module 3: Designing and Developing a User Interface

    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.


    • Defining Page Layout
    • Using Content Controls
    • Using Item Controls
    • Sharing Logical Resources in a Window

    Lab : Building a User Interface

    • Choosing User Interface Controls
    • Laying out the User Interface
    • Creating and Using Resource Dictionaries
    After completing this module, students will be able to:
    • Define page layout
    • Use content controls
    • Use item controls
    • Share resources within a window or user control

    Module 4: Taking Control of the User Interface

    The goal of this module is to enable students to create a consistent and manageable user interface.


    • Sharing Logical Resources in an Application
    • Creating Consistent User Interfaces by Using Styles
    • Changing the Appearance of Controls by Using Templates
    • Handling Events and Commands

    Lab : Dynamically Controlling the User Interface

    • Creating Styles
    • Using Application Commands
    • Adding Routed Events
    • Creating a Custom Command
    • Migrating a Custom Command
    After completing this module, students will be able to:
    • Share logical resources throughout an application
    • Create a consistent user interface by using styles
    • Change the appearance of controls by using templates
    • Handle events and commands

    Module 5: Testing, Unit Testing, and Debugging

    The goal of this module is to help students to develop good habits in regard to testing as well as enabling students to debug their applications. Students will also learn about advanced exception handling pertaining directly to Windows Client application scenarios


    • WPF Testing Strategies
    • Debugging XAML
    • Providing User Feedback for Unhandled Exceptions
    • Understanding Security Features

    Lab : Testing and Debugging WPF Applications

    • Unit Testing Strategy
    • Unit Testing WPF Applications
    • Debugging Applications in Visual Studio 2010
    • Advanced Exception Handling
    After completing this module, students will be able to:
    • Implement a WPF unit test strategy
    • Debug XAML by using the WPF Visualizer and PresentationTraceSources
    • Provide user feedback for unhandled exceptions
    • Understand security features of an application

    Module 6: Simple Data Binding and ValidationThe goal of this module is to teach the student how to implement simple data binding and data validation in order to manage data in a data source (CRUD). In addition to learning how to bind a value to a UI element, the student should learn best practices concerning when to use the various implementations of data binding and how to connect to a data source with LINQ.Lessons

    • Overview of Data Binding
    • Creating a Data Binding
    • Implementing Property Change Notification
    • Converting Data
    • Validating Data
    • Presenting Data at Design Time

    Lab : Data Binding

    • Binding Controls
    • Implementing Value Converters
    • Validating Data
    • Implementing Property Change Notifications
    After completing this module, students will be able to:
    • Explain WPF data binding concepts and terminology
    • Create a binding between a data source and a control
    • Implement property change notification
    • Convert data between the binding source and the binding target
    • Validate data entered by the user
    • Present data at design time

    Module 7: Data Binding to CollectionsThe goal of this module is to enable the student to implement more advanced data binding scenarios, picking up where the previous module on data binding left off. The student will learn how to bind to ListView, GridView, DataGrid, and other collection classes.Lessons

    • Binding to Collections of Objects
    • Using Collection Views
    • Creating Master-Detail User Interfaces
    • Using Data Templates
    • Presenting Design Time Data Collections

    Lab : Data Binding to Collections

    • Binding to Collections of Data
    • Using Collection Views
    • Creating Master-Detail User Interfaces
    • Using Data Templates
    After completing this module, students will be able to:
    • Bind to a collection of objects
    • Sort, filter, and group collections by using collection views
    • Create master-detail user interfaces
    • Customize data display by using data templates
    • Present data collections at design time

    Module 8: Enhancing UI ResponsivenessThe goal of this module is to teach the students how coding techniques can be used to improve the responsiveness of their applications.Lessons

    • Implementing Asynchronous Processes
    • Implementing Responsive User Interfaces

    Lab : Enhancing Application Performance

    • Asynchronous Programming Strategy
    • Asynchronous Programming
    • Parallelizing Tasks
    After completing this module, students will be able to:
    • Implement asynchronous processes
    • Implement responsive user interfaces

    Module 9: Integrating Localization and User Assistance FeaturesThe goal of this module is to teach students how to implement localization, user assistance, and accessibility features within an application.Lessons

    • Localization and Globalization
    • Implementing User Assistance Features
    • Providing User Accessibility Features

    Lab : Localizing a WPF Application

    • Preparing for Localization for the LocBAML Approach 
    • Localizing Resources by Using LocBAML
    • Preparing for Localization by Using Strongly Typed Resources
    • Localizing Resources by Using Strongly Typed Resources
    • Choosing a Localization Approach
    After completing this module, students will be able to:
    • Describe WPF localization and globalization features
    • Implement localized WPF applications
    • Implement user assistance features
    • Provide user accessibility features

    Module 10: WPF 2D Graphics, Multimedia, and PrintingThe goal of this module is to teach the students the basics of graphics in WPF. The module will also provide an overview of multimedia (audio and video).Lessons

    • Displaying 2D Graphics
    • Displaying Images
    • Adding Multimedia to WPF Applications
    • Creating and Printing Documents

    Lab : Drawing 2-D Graphics

    • Identify the Appropriate Windows Client Technology
    • Creating the Data Access Layer and User Interface
    • Drawing Shapes, Painting with Brushes and Appling Effects
    • Adding Images
    After completing this module, students will be able to:
    • Display 2D graphics
    • Add images in a WPF application
    • Add multimedia content to a WPF application
    • Create and print documents

    Module 11: Control CustomizationThe goal of this module is to teach students how to customize controls and introduce students to custom controls.Lessons

    • Overview of Control Authoring
    • Creating User Controls
    • Creating Custom Controls
    • Managing Control Appearance by Using Visual States
    • Integrating WPF and Windows Forms

    Lab : Building a User Control

    • Identify the Approach Control Type
    • Creating a User Control in WPF
    • Adding a WPF Control to a Windows Forms Application
    After completing this module, students will be able to:
    • Explain scenarios and options for creating new controls
    • Create user controls
    • Create custom controls
    • Integrate WPF and WinForms controls

    Module 12: Attached Properties and Behaviors in WPFThe goal of this module is to teach the students how to implement application behaviors based on user actions or application events by using attached properties and Expression Blend behaviors.Lessons

    • Implementing Attached Properties
    • Implementing Drag-and-Drop User Interfaces
    • Implementing Expression Blend Behaviors, Triggers and Actions

    Lab : Implementing Drag-and-Drop Operations

    • Implementing Drag-and-Drop Operations
    • Implementing Expression Blend Behaviors
    After completing this module, students will be able to:
    • Describe WPF attached properties
    • Implement drag and drop
    • Implement Expression Blend behaviors

    Module 13: Animations in WPFThe goal of this module is to teach the student how to implement animations and to teach students how to develop data visualization within their applications in a manner that enables the application user to drill down into data visually. Students should also learn when animations should be used and why.Lessons

    • Using Animations
    • Using Triggers
    • Implementing Data Visualizations

    Lab : Creating Animations

    • Creating Animations Declaratively
    • Creating Animations Dynamically
    • Creating Routed Events
    • Handling Routed Events
    After completing this module, students will be able to:
    • Explain when animations are appropriate for the user interface
    • Implement animation in WPF
    • Initiate animation by using triggers
    • Present data visualizations by using WPF

    Module 14: Application State, Settings, and Lifecycle

    The goal of this module is to teach students how to manage application state and settings throughout the application lifecycle. 


    • Creating Application Settings
    • Consuming Application Settings
    • Creating Custom Configuration Sections

    Lab : Creating a Settings Dialog

    • Creating Application and User Setting by Using Visual Studio
    • Creating a Dialog Window
    • Reading and Writing Settings
    • Consuming Settings Properties
    After completing this module, students will be able to:
    • Persist user and application settings
    • Consume user settings

    Module 15: Configure and Deploy Windows Client ApplicationsThe goal of this module is to teach students how to deploy their applications using the various methods supported by Visual Studio 2010.Lessons

    • Deployment Options
    • Deploying a Standalone WPF Application
    • Deploying an XBAP Application
    • Configuring Security Settings

    Lab : Deploying Applications

    • Developing a Standalone Installer
    • Configuring a ClickOnce Deployment
    • Updating a ClickOnce Deployment

Request Information

Course Catalog


110% Quality Gaurantee






Microsoft Gold Partner

Microsoft Small Business Specialist