Learning Goals
This course will teach you how to build Windows applications with WPF (or Silverlight), LINQ and WCF in .NET 3.5 and 4.0 with tools as Visual Studio 2008/2010 and Expression Blend.
Target Audience
This course is meant for NET developers who want to learn how to build Windows client applications with Windows Presentation Foundation (WPF), or Silverlight, that also require to bind to data sources using LINQ and the Entity Framework and consume services built with Windows Communication Foundation (WCF). Because WPF and Silverlight are very similar, this course can also be taken by people interested in building Silverlight business applications (RIA's).
Prerequisites
Participants of this course need to have a good understanding of the .NET platform and have a good knowledge of C# or VB.NET.
Course Outline:
Introduction to Windows programming with WPF and Silverlight
In this module students are introduced to Windows Presentation Foundation (WPF) and Silverlight, and how these frameworks can be used to build state of the art applications. Building state of the art applications requires the input of designers for building great visualizations. Now developers and designers can work together on the same application.
- The new generation of Windows programming
- Introduction to WPF and Silverlight development
- Choosing between the WPF and the Silverlight .NET runtime.
- Designer/Developer productivity: declarative XAML
- The Visual Studio Designer.
- Using MS Expression Blend
Introducing XAML
XAML is becoming very important for developers using the Microsoft developer stack. This module teaches students how to use the XAML language for building all kinds of applications, focusing on WPF and Silverlight.
- What is XAML?
- XAML versus Code.
- Looking at XAML basic syntax.
- Understanding XAML promoted and attached properties.
- Nesting controls.
- The Content property.
- Extending XAML through markup extensions.
- Understanding CLR and Xml namespace mapping.
- Naming elements.
WPF and Silverlight Controls
This module gives you an overview of what kinds of controls are available and how to compose them together.
- Examining the Class Hierarchy.
- Tweaking the UI with transforms.
- WPF shapes, such as Rectangle and Ellipse.
- Using images and videos in your application.
- Brushes, pens, colors.
- The power of composability.
- Content controls, Container controls, Header controls, Item controls.
- Range controls, Using Text controls.
- Using the Ribbon control
Introduction to WPF Layout
Display hardware becomes more and more diverse. That is why in Windows 7, the font size is adjusted automatically depending on the screen size to make sure everything is still readable. This does require some special up-front design. In this module students will learn how to build applications that run with all kinds of resolutions and fonts.
- Look at WPF layout capabilities.
- Absolute layout using Canvas.
- Using StackPanel, WrapPanel and DockPanel.
- The do-it-all panel: Grid.
- Tweaking using panel attached properties.
- Building resolution and font independent layouts
Reusability with WPF Resources
Developers have always used specially built controls to re-use some of their work. WPF have re-use built in, so in this module students will learn how to re-use objects for their applications.
- Re-using objects through resources.
- Resource inheritance.
- Static resources.
- Dynamic resources.
- Resources and code-behind Merging Resource Dictionaries.
- Using binary resources.
Principles of WPF Styles, Triggers and Templates
Professionally built web sites use cascading style sheets (.css) to quickly change the look and feel of the site. WPF takes this to the next level with styles and templates. In this module students will learn how to quickly customize their whole application with styles and templates.
- Why we need styles.
- WPF look-less controls.
- Example: Restyling a ListBox.
- Intro to templates.
- Using the Visual State Manager
Retrieving data with LINQ
Almost every application needs to work with data, typically stored in a relation database. In this section students will learn how to query data with LINQ.
- What is LINQ?
- Introducing the LINQ query.
- Looking at the different implementations of LINQ<.br/>
- The LINQ project
- The complete query syntax
- Using query or method syntax for writing queries
- Basic query operators from and where
- Deferred query evaluation
- Grouping
- Using joins.
- Defining the entities model
- Code generation in Visual Studio
- Using object identity
- Inserting, updating and deleting data
- Using stored procedures and functions in combination with LINQ
Using the Entity Framework
One of the drawbacks of LINQ to SQL is that it only works for MS SQL server and that the object model need to be very similar to the database schema. The Entity Framework (EF) is an Object Relation Mapper which allows you to have different object models then the database schema with proper support for inheritance and databases such as ORACLE.
- The need for Object Relational Mapping
- The Entity-Data model
- Defining Entities and Relationships
- POCO support
- Using the Mapping Provider
- Working with Object Services
Using WPF Data Binding
Once the data is retrieved, we need to display it to the user and allow changes to be validation and captured efficiently. In this module students will learn how to use data binding to accomplish this.
- The need for data binding.
- Binding in code and markup.
- Introduction to simple data binding.
- Converting data for data binding.
- Validating data.
- Introduction to complex data binding.
- Understanding Source and DataContext.
- Displaying data using the DataGrid control
- Visual data binding with the Visual Studio Data Sources window
Building and consuming services with WCF
- Understanding Windows Communication Foundation (WCF) fundamental concepts
- The four tenets of Service Orientation
- Looking at the WCF runtime architecture
- Using Clients, Services and Messages
- ABC: Address, Binding, Contract
- Defining the Service Contract
- Configuring the Service
- Hosting the Service
- Obtaining a client-side Service Contract
- Creating a WCF Client
- Best practices for building services
- Using web services in Silverlight.
- Using WebClient.
- ADO.NET Data Services
Deploying your WPF Windows Applications
This module will show students how to deploy their WPF application
- Using XCOPY deployment.
- Using Click-Once.
- Using Silverlight Out-Of-Browser
|