Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.

Start Your Free Trial Now

Using C#


Silverlight 5 Essential Training

with Walt Ritscher

Video: Using C#

While you can craft your UI with XAML the rest of your Silverlight application will use regular .NET code. If you are new to .NET you might be wondering which programming language to use? .NET supports over 100 languages, but most programmers choose C# or Visual Basic. For this course, I am using the more popular of the two, C#. I have used both languages on real-world projects. And I can tell you that either one is fully capable of coding your Silverlight application. You might run across books and other resources demonstrating JavaScript and Silverlight. Today JavaScript is rarely used in Silverlight.
Expand all | Collapse all
  1. 1m 41s
    1. Welcome
    2. Using the exercise files
  2. 35m 1s
    1. Overview of Silverlight
      3m 29s
    2. Setting up a developer computer
      2m 46s
    3. Installing the Silverlight Toolkit
      2m 21s
    4. Exploring the toolkit samples
      2m 35s
    5. Using Visual Studio 2010 to create a Silverlight project
      5m 10s
    6. Using Expression Blend to create a Silverlight project
      3m 13s
    7. Getting to know the Visual Studio interface
      8m 16s
    8. Working in the Expression Blend interface
      7m 11s
  3. 29m 47s
    1. Understanding the Visual Studio project structure
      3m 38s
    2. Creating a Silverlight page
      3m 17s
    3. Compiling your first application
      5m 1s
    4. Using other assemblies in an application
      5m 45s
    5. Deploying a Silverlight application
      3m 43s
    6. Understanding the startup process for an application
      3m 13s
    7. Understanding how users get Silverlight on their computers
      5m 10s
  4. 16m 59s
    1. Exploring the relationship between XAML and .NET
      3m 57s
    2. Using C#
      7m 16s
    3. Exploring the code-behind file
      5m 46s
  5. 43m 23s
    1. Working with XAML elements and Property attributes
      4m 56s
    2. Investigating XAML namespaces
      7m 32s
    3. Converting XAML properties with TypeConverters
      5m 1s
    4. Working with Property elements
      4m 24s
    5. Assigning runtime data with XAML markup extensions
      4m 21s
    6. Digging into the dependency property system
      6m 12s
    7. Creating a custom dependency property
      4m 42s
    8. Understanding attached properties
      6m 15s
  6. 9m 35s
    1. Debugging your code
      5m 17s
    2. Special Silverlight debugging techniques
      4m 18s
  7. 36m 1s
    1. Understanding layout
      4m 55s
    2. Using DockPanel and WrapPanel
      4m 2s
    3. Exploring sophisticated layouts with the Grid
      6m 40s
    4. Absolute positioning with the Canvas panel
      5m 20s
    5. Scrolling content with the ScrollViewer
      3m 28s
    6. Adjusting content alignment, margins, and sizing
      5m 6s
    7. Using the TabControl
      2m 17s
    8. Manipulating elements with transforms
      4m 13s
  8. 20m 33s
    1. Painting the user interface (UI) with SolidColorBrush
      6m 7s
    2. Getting colorful with gradient brushes
      3m 15s
    3. Decorating elements with ImageBrush
      4m 57s
    4. Creating effects with VideoBrush
      6m 14s
  9. 25m 42s
    1. Understanding routed events
      3m 12s
    2. Wiring up event handlers in Silverlight
      6m 4s
    3. Understanding event bubbling
      4m 39s
    4. Exploring mouse events
      7m 43s
    5. Exploring keyboard events
      4m 4s
  10. 32m 31s
    1. Displaying text on the screen
      3m 24s
    2. Gathering text input from the user
      5m 30s
    3. Showing complex text with RichTextBox
      6m 7s
    4. Understanding text overflow and text linking
      3m 14s
    5. Searching content with the AutoComplete type-ahead control
      6m 45s
    6. Using and embedding Silverlight fonts
      7m 31s
  11. 26m 48s
    1. Understanding content controls
      5m 7s
    2. Understanding button controls
      6m 17s
    3. Using the BusyIndicator
      4m 40s
    4. Showing tooltips
      4m 34s
    5. Changing content size with ViewBox
      1m 39s
    6. Exploring more controls
      4m 31s
  12. 55m 36s
    1. Connecting elements with binding
      9m 54s
    2. Using business data in a binding
      9m 21s
    3. Listing data with ItemsControls
      6m 39s
    4. Digging into the DataGrid
      8m 28s
    5. Using the DataForm
      3m 49s
    6. Storing data on the client
      7m 10s
    7. Debugging XAML bindings
      5m 41s
    8. Charting data
      4m 34s
  13. 24m 36s
    1. Creating an Out-of-Browser (OOB) application
      6m 16s
    2. Controlling aspects of an OOB application
      2m 49s
    3. Alerting the user with notification windows
      7m 13s
    4. Hosting HTML content in Silverlight applications
      8m 18s
  14. 30m 2s
    1. Exploring Silverlight trust levels
      3m 51s
    2. Creating an elevated trust application
      5m 57s
    3. Reaping the benefits of XAP signing
      6m 5s
    4. Making cross-domain calls
      5m 1s
    5. Getting started with COM Interop using the Speech API
      4m 21s
    6. Using COM Interop to interact with Microsoft Office
      4m 47s
  15. 16m 34s
    1. Showing child windows
      3m 48s
    2. Using a child window as a dialog window
      5m 7s
    3. Creating native windows
      2m 53s
    4. Maximizing a window with full screen mode
      4m 46s
  16. 13m 20s
    1. Dynamically loading UI content with user controls
      4m 46s
    2. Using the Navigation Framework
      8m 34s
  17. 9m 28s
    1. Using resource files
      3m 53s
    2. Using images in an application
      5m 35s
  18. 16m 32s
    1. Playing audio
      4m 27s
    2. Playing sound effects
      5m 4s
    3. Viewing video content with MediaElement
      4m 58s
    4. Changing video playback speed with TrickPlay
      2m 3s
  19. 14m 41s
    1. Capturing video with a web camera
      4m 16s
    2. Working with a microphone
      3m 47s
    3. Creating print output
      6m 38s
  20. 22m 35s
    1. Understanding Silverlight animations
      4m 35s
    2. Creating animations
      7m 52s
    3. Controlling animations
      4m 18s
    4. Simulating physics with animation easings
      5m 50s
  21. 27m 47s
    1. Placing XAML resources within a FrameworkElement
      6m 47s
    2. Centralizing settings in styles
      4m 8s
    3. Creating an alternate control UI with ControlTemplates
      6m 29s
    4. Dressing up your data with DataTemplates
      4m 33s
    5. Explaining the VisualStateManager: a simple way to manage control states
      5m 50s
  22. 10m 56s
    1. Handling global errors in a Silverlight application
      5m 46s
    2. Showing an application loading screen
      5m 10s
  23. 10m 48s
    1. Integrating with XNA
      7m 40s
    2. Exploring data analysis with PivotViewer
      3m 8s
  24. 1m 6s
    1. Goodbye
      1m 6s

please wait ...
Watch the Online Video Course Silverlight 5 Essential Training
8h 51m Beginner Mar 27, 2012

Viewers: in countries Watching now:

Microsoft Silverlight 5 is a rich application framework for creating high-performance, cross-platform desktop and mobile applications. In this course, author Walt Ritscher demonstrates how to build a variety of applications in Silverlight, with particular focus on building compelling business applications and delivering premium video and audio content. Developers will work with the C# programming language and Visual Studio Professional, as well as Expression Blend, a tool that simplifies creation of the interactive user interfaces expected in modern-day applications.

Topics include:
  • Installing the toolkit and setting up the development environment
  • Using Expression Blend vs. Visual Studio 2010
  • Creating a Silverlight page
  • Compiling an application
  • Exploring the relationship between XAML and .NET
  • Using C#
  • Working with XAML
  • Digging into the Dependency Property System
  • Deploying and debugging code
  • Creating sophisticated layouts with panel elements
  • Managing Visual State with Visual State Manager
  • Transforming the user interface (UI) with templates
  • Understanding the event model
  • Working with text
  • Using business data in a binding
  • Creating an out-of-browser (OOB) application
  • Exploring trust levels
  • Playing audio and video
  • Handling errors
  • Exploring animations
  • Working with application windows
  • Integration with XNA
Silverlight Visual Studio
Walt Ritscher

Using C#

While you can craft your UI with XAML the rest of your Silverlight application will use regular .NET code. If you are new to .NET you might be wondering which programming language to use? .NET supports over 100 languages, but most programmers choose C# or Visual Basic. For this course, I am using the more popular of the two, C#. I have used both languages on real-world projects. And I can tell you that either one is fully capable of coding your Silverlight application. You might run across books and other resources demonstrating JavaScript and Silverlight. Today JavaScript is rarely used in Silverlight.

Most of those resources are leftovers from the first Silverlight release where JavaScript was the only programming language. I thought I would have a short movie showing some basic C# syntax. For a more in-depth view checkout C# Essential Training and Visual Studio 2010 Essential Training here in the Online Training Library. For this demo I am going to create a brand-new solution and project. To do that I go to my File menu inside Visual Studio and choose New>Project. Visual Studio can create projects of many different types. You can create Windows Forms Applications, Console Applications, you can create different flavors of Web applications, SharePoint, XNA, and Office, and many, many more.

Today I thought I would show you a WPF Application. WPF is Microsoft's rich desktop application framework, it's a lot like Silverlight. So I have selected WPF Application and I'll leave the name at the default, WpfApplication1 and click OK. In the Solution Explorer I can see how similar it is to Silverlight. There is an App.xaml file and a MainWindow.xaml file. In the Editor I can see the same split view I get in SilverLight, the top-half shows the designer and the bottom-half shows my XAML code.

I am going to create a class and call some code in that class. The name of my class is going to be printer. To add it to my project I will right- click on my project and choose Add>Class. I will name my class Printer and click OK. I am going to create two functions inside this Printer class. Functions in .NET are called Methods. I am going to create an instance method and a static method. First one is going to be called GetPrinterName, so I will say public string GetPrinterName. This is the name of my function, this is the return type from the function and this is the visibility of my function.

Functions are defined and methods are defined with a set of parentheses and then the code goes in a set of curly braces. You can see in Visual Studio that I'm getting a red squiggle underneath the GetPrinterName, that's because not all code paths return a value. Visual Studio is telling me that I need to fix my code by returning a value. The return keyword is used here and then I return the name of the printer, in my case it's going to be HP 540P. Lines of code in C# end with a Semicolon (;).

The second function I am going to create is going to have the static keyword in it and this one is going to return a Boolean value. I'm also going to include a parameter, so inside the set of parentheses I am going to say string printerName. And then I'll put the body of my method in with the two curly braces. Again, I haven't returned a value so I am getting my red squiggle. What I am going to do in my body of code here is I am going to right an if statement to check the value of the incoming printer string. In the body of my code I am going to check the printer name and look for a certain value and then return true or false.

To do that I am going to use an if statement. If statements can be written like this, type-in if. Now look closely at this IntelliSense window that has popped up here, there are a couple of things of interest. First, on the left side of the screen you see if and a little piece of paper icon there that piece of paper icon represents that this is a code snippet. On the right side of the screen a few seconds ago there was a tool tip that had popped-up that gave me a little more details about the if statement. To use the code snippet I use the Visual Studio keystrokes, which is Tab Tab. So I'll press Tab twice and it stubs in some code for me.

It put the Open and Close parentheses and the Open and Close curly braces and the word true. I will replace the word true with my logic which is printerName==hard-coded string "HP 540P". So what this says, if the inbound printer parameter is equal to this string then return true, otherwise on an else case down here, else return false.

There are other code snippets available, like for instance I can come down here and take-in for each. Notice I haven't finished typing the word for each, I have only typed the first four letters, that's enough for the IntelliSense engine to recognize it and now if I press the Tab Tab keystrokes it would stub that Code Snippet in for me. All right, I am ready to use this in my main window. I am going to switch back to my main window, I will do that by going to MainWindow.xaml up here in this tab. Now I need some UI over here, I am going to put a button on this window.

To do that I am going to go to my Toolbox, select Button and drag it over to the designer surface. Notice how it was added in the designer and also in my XAML. Now I am going to double-click on the Button and write my code, let's say var p = new printer. You remember a few minutes ago I created a instance method and a static method? So the instance method has to be called by creating an instance of the type, like this. Once I have created the instance then I can say var result = p.

Now when I hit the dot operator I am going to get a listing of all the members of my Printer Class. The one I am interested in this is one right here, GetPrinterName. Now I'll have the printer name stored in this result variables and I am going to pass that into my static method. Now static members are accessed via the name of the type, I don't have to use the new keyword first. So here I am going to say var isReady = Printer.IsPrinterReady, that's my static method. And then I am going to pass in the result from the previous method call.

The last thing I need to do is show the results to you. I can do that one of two ways; I can create some UI on my window or I can use the modal dialog called the MessageBox. I am going to choose the latter, MessageBox.Show. C# supports something called String Formatters, that means that if I put a string I can place tokens within that string and then replaces at runtime. What I will do here is a String.Format, like that, and then the token is a curly brace, close curly brace and then a numeric value. And then after the string I will say Comma (,) isReady.

What's going to happen at runtime is the results that's in here is going to be placed in this token area inside the string. I am ready to run the application. It works the same way as a Silverlight application, you do a build, and then you need to start the application, I will choose start with Debugging. Now you can see my UI, this is a real window, it's part of the Windows operating system, do all the usual Window things, I am going to click on this button to see the results. C# is a nice modern language that is flexible enough to create a rainbow of application types.

Look for more details about how it meshes with Silverlight in the rest of the course.

Find answers to the most frequently asked questions about Silverlight 5 Essential Training .

Expand all | Collapse all
please wait ...
Q: I'm trying to access a Silverlight 3D application template, [cid:image001.png@01CD0E7D.3E07ECA0]. I have already installed the Silverlight 5 SDK and my Visual Studio 2010 is professional. Could you please help me?
A: You must install XNA Studio in order to use the new Silverlight 3D templates. Otherwise the new templates will not show up. Download it at

For other Silverlight downloads (the toolkit, developer runtime, etc.), see
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.

Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now Already a member? Log in

* Estimated file size

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.

Mark all as unwatched Cancel


You have completed Silverlight 5 Essential Training.

Return to your organization's learning portal to continue training, or close this page.


Upgrade to View Courses Offline


With our new Desktop App, Annual Premium Members can download courses for Internet-free viewing.

Upgrade Now

After upgrading, download Desktop App Here.

Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Start your FREE 10-day trial

Begin learning software, business, and creative skills—anytime,
anywhere—with video instruction from recognized industry experts. provides
Unlimited access to over 4,000 courses—more than 100,000 video tutorials
Expert-led instruction
On-the-go learning. Watch from your computer, tablet, or mobile device. Switch back and forth as you choose.
Start Your FREE Trial Now

A trusted source for knowledge.


We provide training to more than 4 million people, and our members tell us that helps them stay ahead of software updates, pick up brand-new skills, switch careers, land promotions, and explore new hobbies. What can we help you do?

Thanks for signing up.

We’ll send you a confirmation email shortly.

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.