Silverlight is a browser plug-in that runs Rich Internet Applications. It brings a trimmed down version of the .NET Framework to web browser client-side programming. It also provides a user interface framework that is very similar to WPF, enabling developers familiar with WPF to learn Silverlight with ease. This course shows the main aspects of building user interfaces with Silverlight 3.
Ian is an independent consultant, developer, speaker, and author. He has written books on Windows Presentation Foundation, Windows Forms, and Visual Studio. He lives in London but can often be found on various developer mailing lists and newsgroups, where a popular sport is to see who can get him to write the longest email in reply to the shortest possible question.
Introduction Hello, I'm Ian Griffiths, and this is the Silverlight Fundamentals course from Pluralsight. Silverlight is a platform for building rich internet applications. This course will explain the concepts behind Silverlight and will show you how to build it into your web applications. We'll start with a quick tour around the most important features of Silverlight before getting down to details in the rest of the course. In particular, we'll look at why Silverlight exists at all. To understand the design decisions Microsoft made, it helps to know what problems Silverlight's designed to solve. We'll look at the various versions of Silverlight, seeing which operating systems and browsers are supported. We'll look at XAML, the Extensible Application Markup Language, which is the language we use to construct Silverlight user interfaces. We'll see how code fits in with XAML to make our Silverlight programs interactive. And we'll look at the tools typically used to create and design Silverlight user interfaces, Visual Studio and Expression Blend.
Programming Silverlight In this section, we're going to look at Silverlight' programming model. We'll start with a detailed look at the process of loading the Silverlight plug-in. We'll look in more depth at the relationship between XAML and code-behind and the event handling mechanisms that enable your code to respond to user input. We'll explore the options for creating Silverlight content dynamically. We'll examine the tradeoffs with the various ways of deploying resources such as bitmaps that your application may require. And we'll look at the parts of the. Net Framework that are available in Silverlight's core runtime.
Layout In this section, we're going to look at Silverlight's layout surfaces. We'll start by looking at simple, fixed layouts. Then we'll look at the dynamic layout scenarios Silverlight's designed to support. We'll see the layout-related properties and concepts that permeate all user interface elements. We'll see how to write an application that can run with a full screen layout. And we'll look at the relationship between HTML layouts and the Silverlight plug-in.
Controls We'll now look at the controls Silverlight offers as building blocks for your application. We'll look at the set of controls built into the Silverlight core and also the extras added in by the SDK. Then we'll look at an important concept that crops up in many controls, the content model. We'll see how to customize the appearance of controls through the templates and styling mechanisms, and in particular, we'll look at how a template can incorporate interactive behaviors, such as mouseover animations, thanks to the Visual State Manager.
Graphics In this section, we're going to look at Silverlight's graphics features. We'll start with the Canvas element, which is often used to arrange graphical features because it allows precise control and positioning. We'll look at the various brush types, which let you choose the colors or textures to paint your user interface elements. We'll explore the various shape types that provide 2D vector graphic support, and we'll see how to use bitmaps in your application. And we'll see how any elements can be rotated, scaled, or otherwise transformed, and we'll see how to apply opacity masks or clip regions to Silverlight content.
Text In this section, we'll see what Silverlight offers for displaying text. The TextBlock is used for all text rendering in Silverlight. It can be used for simple, plain text, or you can apply a mixture of formatting styles. And while Silverlight supports a standard set of built-in fonts, we'll see how you can download custom fonts when your application's visual style needs something less ordinary.
Animation We're now going to take a look at Silverlight's animation features. Silverlight's approach to animation is declarative. Rather than focusing on sequences of frames, animations define how things change over time. We'll look at the pros and cons of this approach compared to the lower level frame-oriented animation that some systems use. We'll see how to orchestrate multiple animations with Silverlight Storyboard mechanism. We'll examine keyframe-based animations, which will identify just the moments that represent the most important points of your animation, letting Silverlight generate all the in-between frames for you. And we'll how animations are driven from code.
Video and Audio In this section, we'll see how to use Silverlight's facilities for playing video and audio. The MediaElement is at the heart of all video and audio in Silverlight, and we'll see how you can control how it plays media. We'll also see how you can synchronize other activity in your user interface with critical points in the media. We'll explore the VideoBrush, which lets you paint elements for the video. And finally, we'll look at how the Expression Suite's encode application can be used to repair video assets for Silverlight applications.