LOGO For Immediate Assistance Call 855-211-9361

Enterprise

Developing Windows Applications with Microsoft Visual Studio 2010

Price:

Call for availability 855-211-9361

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. Training is virtual live instructor led courses, complete with exercises, colleague collaboration, and one-on-one chat with the instructor.

Course Overview

By the end of the class students will be able to:

  • Understand how varying business requirements influence the design decisions when planning a Windows Client application.
  • Understand the new features of Visual Studio 2010 WPF
  • Design and build a UI that provides the expected end-user experience and UI functionality
  • Create a consistent and manageable user interface
  • Understand best practices when testing and learn how to debug their applications
  • Use advanced exception handling in Windows Client application scenariosv
  • Implement advanced data binding scenarios
  • Use coding techniques to improve the responsiveness of their applications
  • Implement localization, user assistance, and accessibility features within an application
  • Understand the basics of graphics in WPF
  • Customize controls and introduce students to custom controls
  • Implement application behaviors based on user actions or events by using attached properties and Expression Blend behaviors
  • Develop data visualization within their applications in a manner that enables the application user to drill down into data visually
  • Manage application state and settings throughout the application lifecycle
  • Deploy their applications using the various methods supported by Visual Studio 2010

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 Outline

    Module 1: Windows Client Application Design

  • 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.Lessons
    • Windows Client Technologies
    • Architectural Patterns
    • Interoperability between Windows Forms and WPF
    • Identify Windows Client Technologies
    • Choosing Design Patterns
    • Lab Application Guided Walk-Through

    Module 2: Introduction to Visual Studio 2010 and WPF Version 4

  • The 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
    • Guided tour of Visual Studio 2010
    • Guided tour of XAML Editor

    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. Lessons
    • Defining Page Layout
    • Using Content Controls
    • Using Item Controls
    • Sharing Logical Resources in a Window
    • Choosing User Interface Controls
    • Laying out the User Interface
    • Creating and Using Resource Dictionaries

    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. Lessons
    • 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
    • Creating Styles
    • Using Application Commands
    • Adding Routed Events
    • Creating a Custom Command
    • Migrating a Custom Command

    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 Lessons
    • WPF Testing Strategies
    • Debugging XAML
    • Providing User Feedback for Unhandled Exceptions
    • Understanding Security Features
    • Unit Testing Strategy
    • Unit Testing WPF Applications
    • Debugging Applications in Visual Studio 2010
    • Advanced Exception Handling

    Module 6: Simple Data Binding and Validation

  • The 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
    • Binding Controls
    • Implementing Value Converters
    • Validating Data
    • Implementing Property Change Notifications

    Module 7: Data Binding to Collections

  • The 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
    • Binding to Collections of Data
    • Using Collection Views
    • Creating Master-Detail User Interfaces
    • Using Data Templates

    Module 8: Enhancing UI Responsiveness

  • The 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
    • Asynchronous Programming Strategy
    • Asynchronous Programming
    • Parallelizing Tasks

    Module 9: Integrating Localization and User Assistance Features

  • The 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
    • 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

    Module 10: WPF 2D Graphics, Multimedia, and Printing

  • The 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
    • Identify the Appropriate Windows Client Technology
    • Creating the Data Access Layer and User Interface
    • Drawing Shapes, Painting with Brushes and Appling Effects
    • Adding Images

    Module 11: Control Customization

  • The 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
    • Identify the Approach Control Type
    • Creating a User Control in WPF
    • Adding a WPF Control to a Windows Forms Application

    Module 12: Attached Properties and Behaviors in WPF

  • The 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
    • Implementing Drag-and-Drop Operations
    • Implementing Expression Blend Behaviors

    Module 13: Animations in WPF

  • The 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
    • Creating Animations Declaratively
    • Creating Animations Dynamically
    • Creating Routed Events
    • Handling Routed Events

    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. Lessons
    • Creating Application Settings
    • Consuming Application Settings
    • Creating Custom Configuration Sections
    • Creating Application and User Setting by Using Visual Studio
    • Creating a Dialog Window
    • Reading and Writing Settings
    • Consuming Settings Properties

    Module 15: Configure and Deploy Windows Client Applications

  • The 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
    • Developing a Standalone Installer
    • Configuring a ClickOnce Deployment
    • Updating a ClickOnce Deployment