The Silverlight Tutorials tell the story of Silverlight 2 as it evolves during the Beta period. It is our goal to provide a compact, readable, intensive immersion into the most important new aspects of Silverlight 2. The tutorials and their source code will be available here and each time a new tutorial is added it will be announced on Jesse Liberty’s blog. You can also download Jesse’s Vista Gadget to keep up with his Blog and Tips of the day.
Tutorial 1: Controls
Controls provides a tour of the Silverlight layout controls and how they are used as well as a detailed explanation of events and event handlers and the use of Routed Events and event bubbling in Silverlight. An example application is created in which both an out of the box control and a composite control are dragged by responding to various mouse events. Finally, the relationship between creating objects in XAML and creating objects in managed code is shown along with an example of the dynamic creation of new objects.

Tutorial 2: Data-binding
The roles of target and source and the modes of data binding are introduced, and a business object that implements INotifyPropertyChanged is created and bound to controls on a form. The purpose of the DataContext property is explained and an example is created in which two instances of the business object provide different Data Contexts for binding. Binding to various controls (check box, text box text block) is shown as well as binding from a collection to a listbox, along with one way and two way binding. In an afterword, the concept and advantages of Dependency Properties are explained in some detail.

Tutorial 3: Accessing Data from a SQL Database
Many readers of the first three tutorials have written asking how they can use DataBinding to bind to data in their SQL database. This tutorial will walk through accessing SQL data by creating a Web Service and then using LINQ to create a data source you can bind to. The control we will bind to will be the DataGrid.

Tutorial 4: User Controls
UserControls are extraordinarily useful. Variations of them have been around since the days of #include files in classic ASP. A UserControl is basically a module of XAML and code that you can easily re-use throughout your program. They are, in effect, a simple form of custom control through aggregation of existing controls and code, much like User Controls in ASP.NET

Tutorial 5: Expression Blend for Developers
This tutorial introduces the second major development tool for creating Silverlight Applications: Expression Blend. Jesse Liberty walks you through Expression Blend 2.5 using a chat client as a metaphor. You will learn to assemble the User Interface components, such as items from the toolbox and layout controls.