Silverlight 4 Training Kit
We’ve just released a new free Silverlight 4 Training Kit that walks you through building business applications with Silverlight 4. You can download the entire offline version of the kit here. You can use the 8 modules, 25 videos, and several hands on labs online or offline from links on the Channel 9 site. I’ve included a breakdown and links to all of the content here in this post. The key to this training material is not the features it covers (though it covers a variety them) but rather that it teaches from the perspective of building a business application.
John Papa and Ian Griffiths discuss the key areas that the Building Business Applications with Silverlight 4 course focuses on. This module is the overview of the course which covers many key scenarios that are faced when building business applications and how Silverlight can help address them.
In this lab, you will create a web site for managing conferences that will be the basis for the other labs in this course. (Don’t worry if you don’t manage to complete a particular lab. These lab manual instructions are accompanied by completed solutions, so you can either build your own solution from start to finish, or dive straight in at any point using the solutions provided as a starting point.) You will learn how to set up WCF RIA Services, create bindings to the domain context, filter using the domain data source, and create domain service queries.
- Online Link: https://channel9.msdn.com/learn/courses/Silverlight4/SL4LOB_02_Event_Manager/
- Download Source: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_02_Event_Manager/Source.zip
- Download Lab Document: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_02_Event_Manager/SL4LOB_02_Event_Manager.docx
Ian Griffiths sets up the Entity Framework and WCF RIA Services for the sample Event Manager application for the course. He covers how to set up the services, how the Domain Services work and the role that the DomainContext plays in the sample application. He also reviews the metadata classes and integrating the navigation framework.
Ian Griffiths discusses how he adds the ability to edit and create individual entities with the features built into WCF RIA Services into the sample Event Manager application. He covers data binding fundamentals, IQueryable, LINQ, the DomainDataSource, navigation to a single entity using the navigation framework, and how to use the Visual Studio designer to do much of the work .
Ian Griffiths reviews how to display master/detail records for the sample Event Manager application using WCF RIA Services. He covers how to use the Include attribute to indicate which elements to serialize back to the client. Ian also demonstrates how to use the Data Sources window in the designer to add and bind controls to specific data elements. He wraps up by showing how to create custom services to the Domain Services.
This lab demonstrates how to build a login screen, integrate ASP.NET authentication, and perform validation on data elements. Model-View-ViewModel (MVVM) is introduced and used in this lab as a pattern to help separate the UI and business logic. You will also learn how to use implicit styling and the new RichTextBox control.
- Online Link: https://channel9.msdn.com/learn/courses/Silverlight4/SL4LOB_03_User_Registration/
- Download Source: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_03_User_Registration/Source.zip
- Download Lab Document: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_03_User_Registration/SL4LOB_03_User_Registration.docx
Ian Griffiths covers how to integrate a login screen and authentication into the sample Event Manager application. Ian shows how to use the ASP.NET authentication and integrate it into WCF RIA Services and the Silverlight presentation layer.
Ian Griffiths covers how to Model-View-ViewModel (MVVM) patterns into the sample Event Manager application. He discusses why MVVM exists, what separated presentation means, and why it is important. He shows how to connect the View to the ViewModel, why data binding is important in this symbiosis, and how everything fits together in the overall application.
Ian Griffiths discusses how validation of user input can be integrated into the sample Event Manager application. He demonstrates how to use the DataAnnotations, the INotifyDataErrorInfo interface, binding markup extensions, and WCF RIA Services in concert to achieve great validation in the sample application. He discusses how this technique allows for property level validation, entity level validation, and asynchronous server side validation.
Ian Griffiths discusses how why implicit styles are important and how they can be integrated into the sample Event Manager application. He shows how implicit styles defined in a resource dictionary can be applied to all elements of a particular kind throughout the application.
Ian Griffiths discusses how the new RichTextBox control and it can be integrated into the sample Event Manager application. He demonstrates how the RichTextBox can provide editing for the event information and how it can display the rich text for selection and copying.
This lab builds new features into the sample application to take the user's photo. It teaches you how to use the webcam to capture an image, use Silverlight as a drop target, and take advantage of programmatic access to the clipboard.
- Link: https://channel9.msdn.com/learn/courses/Silverlight4/SL4LOB_04_User_Profile/
- Download Source: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_04_User_Profile/Source.zip
- Download Lab Document: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_04_User_Profile/SL4LOB_04_User_Profile.docx
This lab builds on the application to allow grouping in the DataGrid and implement right mouse click features to add context menu support.
- Link: https://channel9.msdn.com/learn/courses/Silverlight4/SL4LOB_05_Schedule_Planner/
- Download Source: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_05_Schedule_Planner/Source.zip
- Download Lab Document: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_05_Schedule_Planner/SL4LOB_05_User_Profile.docx
This lab teaches how to use the new printing features in Silverlight 4. The lab walks through the PrintDocument class and the ViewBox control, while showing how to print multiple pages of content using them.
- Link: https://channel9.msdn.com/learn/courses/Silverlight4/SL4LOB_06_Printing_the_Schedule/
- Download Source: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_06_Printing_the_Schedule/Source.zip
- Download Lab Document: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_06_Printing_the_Schedule/SL4LOB_06_Printing_the_Schedule.docx
This lab builds a dashboard for the sample application while explaining the fundamentals of the out of browser features, how to handle authentication, displaying notifications (toasts), and how to use native integration to use COM Interop with Silverlight.
- Link: https://channel9.msdn.com/learn/courses/Silverlight4/SL4LOB_07_Event_Administrator_Dashboard/
- Download Source: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_07_Event_Administrator_Dashboard/Source.zip
- Download Lab Document: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_07_Event_Administrator_Dashboard/SL4LOB_07_Event_Administrator_Dashboard.docx
This hands-on lab walks through the creation of a trusted out of browser application and the new functionality that comes with that. You will learn to use COM Automation, handle the window closing event, set custom window chrome, digitally sign your Silverlight out of browser trusted application, create a silent install option, and take advantage of MEF.
- Link: https://channel9.msdn.com/learn/courses/Silverlight4/SL4LOB_08_Advanced_OOB/
- Download Source: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_08_Advanced_OOB/Source.zip
- Download Lab Document: http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/SL4LOB_08_Advanced_OOB/SL4LOB_08_Advanced_OOB.docx
Ian Griffiths discusses how to replace the standard operating system window chrome with customized chrome for an elevated trusted out of browser application. He covers how it is important to handle close, resize, minimize, and maximize events. Ian mentions that the tooling was not ready when he shot this video, but the good news is that the tooling now supports setting the custom chrome directly from the property page for the Silverlight application.
Ian Griffiths discusses the WindowClosing event and how to handle and optionally cancel the event.
Ian Griffiths discusses how to use the SLLauncher executable to install an out of browser application. He discusses the optional command lien switches that can be set including how the emulate switch can help you emulate the install process. Ian also shows how to setup a shortcut for the application and tell the application where it should look for future updates online.
Ian Griffiths discusses how and why to digitally sign an out of browser application using the signtool program. He covers what trusted certificates are, the implications of signing (or not signing), and the effect on the user experience.
Ian Griffiths discusses what MEF is, how your application can benefit from it, and the fundamental features it puts at your disposal. He covers the 3 step import, export and compose process as well as how to dynamically import XAP files using MEF.