Course at a glance
Included in these subscriptions:
- Dev & IT Pro Video
- Dev & IT Pro Power Pack
Release date | 8/21/2010 | |
Level | Advanced | |
Runtime | 18h 32m | |
Closed captioning | N/A | |
Transcript | N/A | |
eBooks / courseware | Included | |
Hands-on labs | Included | |
Sample code | Included | |
Exams | Included |
Course description
Silverlight 4.0 makes it possible for developers to create rich, interactive application delivered through a Web browser to nearly any client operating system, including Windows, Mac, and Linux. This course introduces the basics of creating and hosting Silverlight applications, working through many of the important controls, though binding Silverlight applications to live data. The course then moves beyond basics to cover working through some more advanced controls, more graphic issues including shapes, geometries, brushes, transforms, and animations, through deploying Silverlight applications.
Prerequisites
This course assumes that students have some programming background and experience using Visual Studio 2010. This course assumes knowledge of a CLS language (Visual C#), of the .NET Framework, and the current (or a prior) version of Visual Studio.
Learning Paths
This course is part of the following LearnNowOnline SuccessPaths™:
Silverlight in Web Applications
Meet the experts
Ken Getz is a featured instructor for several of our Visual Studio courses. He is a Visual Basic and Visual C# expert and has been recognized multiple times as a Microsoft MVP. Ken is a seasoned instructor, successful consultant, and the author or co-author of several best-selling books. He is a frequent speaker at technical conferences like Tech-Ed, VSLive, and DevConnections and he has written for several of the industry's most-respected publications including Visual Studio Magazine, CoDe Magazine, and MSDN Magazine.
Robert Green is a Visual Studio expert and a featured instructor for several of our Visual Basic and Visual C# courses. He is currently a Technical Evangelist in the Developer Platform and Evangelism (DPE) group at Microsoft. He has also worked for Microsoft on the Developer Tools marketing team and as Community Lead on the Visual Basic team. Robert has several years of consulting experience focused on developer training and is a frequent speaker at technology conferences including TechEd, VSLive, VSConnections, and Advisor Live.
Course outline
Module 1
Introducing Silverlight (38:14)
- Introduction (02:47)
- Introducing Silverlight (00:56)
- Demo: MS Silverlight Page (01:09)
- Why Silverlight? (02:30)
- Evolution of Silverlight (02:08)
- Development Tools (01:18)
- Getting Started (02:24)
- Additional Projects (01:08)
- WPF vs. Silverlight (03:11)
- An Inconvenient Truth (01:27)
- Silverlight and XAML (01:58)
- Demo: Silverlight Application (17:11)
- Summary (00:02)
Investigating XAML (20:08)
- Introduction (00:15)
- Investigating XAML (00:32)
- Properties/Type Converters (00:46)
- Type Converters (03:10)
- Complex Properties (01:06)
- Demo: Complex Properties (04:53)
- Markup Extensions (02:00)
- Demo: Markup Extensions (02:50)
- Attached Properties (04:30)
- Summary (00:02)
Content and Grid Controls (40:38)
- Introduction (00:15)
- Content and Grid Controls (00:33)
- Working with Layout Controls (01:38)
- Demo: Layout Controls (08:29)
- List Box as a Container (00:30)
- Demo: List Box Container (03:46)
- Grid as Container (00:31)
- Demo: Grid Control (08:48)
- Dependency Properties (00:47)
- DependencyObject Class (00:45)
- Investigating Property (00:57)
- Declaring the Property (00:28)
- In Constructor (00:32)
- Property Wrapper (00:53)
- Using Attached Properties (00:49)
- Working Attached Properties (01:29)
- Demo: Attached Properties (03:48)
- Running Out of Browser (01:20)
- Demo: Out of Browser (03:06)
- Summary (01:05)
Module 2
Layout Principles (22:03)
- Introduction (01:08)
- Windows Forms Layout (01:05)
- Web Forms Layout (00:27)
- XAML Layout (01:10)
- XAML Layout is Recursive (00:54)
- Determining Element Size (01:09)
- Alignment (01:08)
- Margin and Padding (01:21)
- Alignment, Margin, Padding (01:06)
- Containers (00:57)
- StackPanel (00:29)
- Determining Element Size (01:14)
- Demo: StackPanel (07:31)
- Demo: Sizing Elements (02:16)
- Summary (00:02)
More Layout Controls (30:00)
- Introduction (00:15)
- Wrap Panel (00:41)
- Demo: WrapPanel (03:23)
- DockPanel (01:04)
- Demo: DockPanel (04:51)
- Nesting Containers (00:34)
- Demo: Nesting Containers (04:29)
- Grid (02:03)
- Demo: Grid (08:22)
- Canvas (00:51)
- Demo: Canvas (02:34)
- Summary (00:49)
Module 3
Simplest Controls (21:25)
- Introduction (00:53)
- Simplist Controls (01:07)
- Border Control (00:35)
- Border Control Properties (01:09)
- LinearGradientBrush (00:48)
- GradientStop (00:36)
- More on GradientBrush (00:39)
- Demo: BorderControl (03:07)
- Demo: ButtonControl (03:10)
- Demo: Checkbox Control (04:28)
- CheckBox Control Events (01:24)
- RadioButton Control (00:46)
- Demo: RadioButton (02:35)
- Summary (00:02)
Text, Date and Misc (29:29)
- Introduction (00:15)
- Text Entry Controls (00:15)
- TextBlock Control (00:25)
- Line Breaks (00:14)
- Using the <Run/> Elemnet (00:30)
- TextBox Control (00:16)
- TextBox Properties (01:06)
- TextBox Key Events (00:36)
- Demo: Key Events (08:00)
- PasswordBox Control (00:57)
- Demo: PasswordBox (00:58)
- Calendar Control (00:46)
- DatePicker Control (00:59)
- Demo: Calendar and DataPicker (04:43)
- Miscellaneous Controls (00:11)
- Slider Control (01:08)
- ProgressBar Control (01:32)
- MediaElement Control (01:23)
- Demo: Slider Control (01:50)
- Demo: ProgressBar Control (01:11)
- Demo: MediaElement Control (01:08)
- Summary (00:53)
Module 4
List Controls (29:47)
- Introduction (00:58)
- ListBox (00:47)
- Populate a ListBox (00:31)
- More ListBox (01:09)
- Demo: ListBox (11:21)
- ComboBox (00:46)
- IsEditable and IsReadOnly (00:46)
- Demo: ComboBox (05:13)
- TreeView (00:35)
- Populate TreeView in XAML (00:29)
- More TreeView (00:23)
- Demo: TreeView (06:39)
- Summary (00:02)
Layout Controls (16:14)
- Introduction (00:15)
- ScrollViewer (01:27)
- TabControl and TabItem (00:41)
- Expander (01:13)
- Demo: ScrollViewer (05:47)
- Demo: TabControl + Expander (05:54)
- Summary (00:54)
Module 5
Resources (28:44)
- Introduction (01:06)
- Introducing XAML Resources (00:16)
- Why Use Resources? (00:55)
- The Resources Dictionary (01:32)
- Demo: Resource (02:03)
- Using Resources (01:52)
- Static vs Dynamic (01:06)
- Defining Static Resources (00:22)
- Hierarchy of Resources (01:27)
- Demo: Hierarchy of Resources (01:19)
- Self-Referential Resource (00:37)
- Demo:Self-Referential Resource (01:40)
- Resource Naming Conflicts (00:49)
- Demo: Naming Conflicts (01:36)
- Application-Level Resources (01:09)
- Demo: Application-Level (01:47)
- Modifying Resources in Code (00:33)
- Demo: Modifying Resources (03:29)
- Organizing Resources (00:55)
- Demo:Organizing Resources (02:54)
- One Small Restriction (01:07)
- Summary (00:02)
Styles (20:15)
- Introduction (00:15)
- Introducing XAMLStyles (01:34)
- Creating a Simple Style (00:45)
- Demo: Simple Style (02:54)
- What"s Going On (00:45)
- Why Use Styles (00:34)
- Important Tool (01:09)
- Dynamic Styles (00:28)
- Demo: Applying Styles (07:32)
- Style Inheritance (00:50)
- Demo: Style Inheritance (01:41)
- Be Careful! (01:16)
- Summary (00:29)
Module 6
Navigation (17:20)
- Introduction (00:52)
- Navigation (01:16)
- HyperlinkButtons (00:33)
- Uniform Resource Identifiers (00:45)
- Demo: Navigation (07:40)
- Demo: HyperlinkButtons (06:10)
- Summary (00:02)
Advanced Navigation (28:28)
- Introduction (00:15)
- Navigation Service (01:45)
- Demo: Navigation Service (10:47)
- URI Mapping (01:32)
- Demo: URI Mapping (04:03)
- Hosting Pages in Pages (00:41)
- Demo: Hosting Pages (03:09)
- Navigation Application (00:59)
- Demo: Navigation Template (04:37)
- Summary (00:35)
Module 7
Introducing Binding (15:57)
- Introduction (00:59)
- Introducing Binding (00:46)
- When to Use Binding (00:41)
- Connecting Sources + Targets (01:34)
- Under the Hood (00:41)
- Value Converters (01:20)
- Demo: Binding (01:48)
- Binding Details (01:54)
- Setting the Binding Mode (01:21)
- Demo: TwoWay Data (01:18)
- A Simple Example (01:06)
- Demo: Simple Binding (01:28)
- Summary (00:55)
Type Converters (20:21)
- Introduction (00:15)
- Working With (00:34)
- To the Rescue (01:10)
- StringFormat Property (00:41)
- Demo: StringFormat (01:04)
- StringFormat Details (01:47)
- Using a Type Converter (00:54)
- Creating the Type Converter (00:40)
- Converters (01:08)
- Converter Warning (00:47)
- Demo: Converter (03:12)
- Referencing the Type Converter (01:16)
- Demo: Code Converter (02:55)
- Using the Type Converter (01:22)
- Demo: Converter Hookup (02:28)
- Summary (00:02)
List And Data Templates (29:38)
- Introduction (00:55)
- Lists and Data Templates (00:51)
- Demo: Binding Lists (02:10)
- Adding a Data Template (01:18)
- Demo: Data Template (03:20)
- Another Data Template (00:51)
- Demo: Another Data Template (11:11)
- Binding and Data Templates (00:39)
- Demo: Binding Data Templates (07:22)
- Summary (00:57)
Module 8
Data Binding (24:23)
- Introduction (00:50)
- Data Binding (00:16)
- Without Data Binding (01:28)
- With Data Binding (00:39)
- Binding to an Object (01:04)
- Demo: Binding to an Object (02:25)
- Data Source Options (01:41)
- WCF Overview (00:44)
- WCF Building Blocks (02:30)
- Creating a WCF Service (01:04)
- Calling the WCF Service (01:13)
- Demo: WCF Service (10:20)
- Summary (00:02)
More on Data Binding (27:10)
- Introduction (00:15)
- Binding to a List of Customers (01:28)
- Binding to One Customer (00:35)
- Binding to One Product (00:38)
- Displaying Related Data (01:06)
- Data Entry (00:26)
- Demo: WCF and SQL Data (22:38)
- Summary (00:02)
Using Views (18:40)
- Introduction (00:15)
- Using Views (00:36)
- CollectionViewSource (00:31)
- ICollectionView Interface (01:34)
- Demo: Views in Silverlight (15:11)
- Summary (00:32)
Module 9
Data Grid (31:23)
- Introduction (01:02)
- DataGrid (00:56)
- DataGrid Properties (01:54)
- Demo: DataGrid (12:12)
- Row Details (01:07)
- Demo: Row Details (04:10)
- Working with DataGrids (01:56)
- Demo: Working with Datagrids (08:00)
- Summary (00:03)
Data Grid 2 (30:29)
- Introduction (00:15)
- Drag and Drop (00:50)
- Grouping and Sorting (01:06)
- Filtering (01:01)
- Demo: Drag and Drop (21:46)
- Data Entry (02:41)
- Demo: Data Entry (02:43)
- Summary (00:03)
Data Form Data Page (28:16)
- Introduction (00:15)
- DataForm (00:51)
- DataForm Events (00:43)
- DataForm Properties (00:52)
- Defining Columns (00:51)
- Demo: DataForms (03:27)
- Demo: DataForm Properties (04:51)
- Demo: DataForms 2 (05:57)
- DataPager (01:04)
- DataPager Properties (00:33)
- Demo: DataPager (04:44)
- Demo: DataPager Properties (03:32)
- Summary (00:31)
Module 10
Shapes (51:43)
- Introduction (00:56)
- Working with Shapes (00:46)
- Investigating Basic Shapes (00:55)
- The Shape Class (02:10)
- Rectangle and Ellipse Shapes (00:29)
- Rounding Corners (01:08)
- Demo: Rounding Corners (04:09)
- Positioning and Sizing Shapes (02:03)
- Demo: Positioning and Sizing Shapes (01:42)
- Positioning Shapes (01:45)
- Demo: Positioning Shapes (02:24)
- Resizing Shapes (00:48)
- ViewBox Control (01:12)
- Demo: ViewBox Control (01:36)
- The Line Shape (01:52)
- Demo: The Line Shape (02:11)
- Adding Line Caps (01:34)
- Demo: Adding Line Caps (01:33)
- Using Dashes (00:42)
- StrokeDashArray (03:55)
- Demo: StrokeDashArray (05:38)
- The Polyline Shape (01:14)
- Polyline (00:46)
- Demo: Polyline (01:54)
- The Polygon Shape (01:00)
- FillRule (01:56)
- Demo: FillRule (02:52)
- Using Line Joins (00:52)
- Demo: Using Line Joins (01:24)
- Summary (00:03)
Paths and Geometries (40:50)
- Introduction (00:15)
- Using Paths and Geometries (01:08)
- Paths vs Geometries? (00:37)
- Ellipse, Line, RectangleGeometry (00:39)
- Demo: Ellipse,Line,RectangleGeometry (03:12)
- Using the GeometryGroup Element (01:07)
- Demo:Using the GeometryGroup Element (05:37)
- Curves/Lines with PathGeometry (01:13)
- Segment Types (01:17)
- Demo: Segment Types (04:05)
- Working with Lines (00:38)
- Working with Arcs (01:28)
- Demo: Working with Arcs (07:52)
- Working with Curves (01:34)
- Important Tip (00:35)
- Demo: Important Tip (04:00)
- Geometry Mini-Language (03:58)
- Summary (01:27)
Module 11
Brushes (49:14)
- Introduction (01:08)
- Working with Brushes (00:46)
- What"s a Brush? (00:42)
- SolidColorBrush Class (00:29)
- How to Select a Color (01:22)
- Use Named Colors (00:45)
- Use #rrggbb or #aarrggbb Syntax (01:14)
- Use Element.Property Syntax (00:56)
- Demo: Use Element.Property Syntax (04:04)
- LinearGradientBrush Class (00:32)
- LinearGradientBrush (02:27)
- Rotating the Gradient (01:05)
- Changing the Stop Points (00:23)
- Demo: Changing the Stop Points (04:29)
- Extending the Gradient (00:57)
- Rectangles Only? (00:24)
- Demo: Rectangles Only? (04:14)
- RadialGradientBrush Class (00:41)
- RadialGradientBrush (01:51)
- Demo: RadialGradientBrush (05:49)
- ImageBrush Class (01:31)
- ImageBrush (00:19)
- Demo: ImageBrush (03:57)
- Using Transparency (01:07)
- Demo: Using Transparency (02:49)
- Using OpacityMask (00:34)
- OpacityMask Property (01:12)
- Demo: OpacityMask Property (03:12)
- Summary (00:03)
Transforms (27:42)
- Introduction (00:15)
- Transforms (05:38)
- Repeating Shapes (00:33)
- RotateTransform (01:23)
- Demo: RotateTransform (02:05)
- ScaleTransform (00:37)
- Demo: ScaleTransform (01:38)
- SkewTransform (00:40)
- Demo: SkewTransform (01:38)
- TranslateTransform (00:24)
- Demo: TranslateTransform (01:02)
- Avoiding Absolute Coordinates (01:05)
- Demo: Avoiding Absolute Coordinates (02:31)
- Transforming a FrameworkElement (01:05)
- Demo: Transforming a FrameworkElement (01:33)
- Adding Reflection Effects (04:25)
- Summary (01:04)
Module 12
Deploy Apps (27:57)
- Introduction (00:57)
- Silverlight App Architecture (01:32)
- Deploy Silverlight Application (00:41)
- Configure Silverlight Plug-In (01:10)
- Demo: Application Deployment (04:31)
- IIS Settings Explained (00:41)
- Demo: IIS (00:59)
- Demo: Deployment Features (07:42)
- Assembly Caching (03:04)
- Demo: Assembly Caching (06:33)
- Summary (00:03)
Out of Browser Apps (20:50)
- Introduction (00:15)
- Deploy Out-of-Browser Apps (01:47)
- Customize Installation (00:58)
- Demo: Out-of-Browser App (05:46)
- Demo: Customize Installation (04:18)
- Check for Updates (00:32)
- Application Class (01:06)
- Demo: Check for Updates (06:01)
- Summary (00:03)
Install Experince (19:45)
- Introduction (00:15)
- Silverlight Installation (03:07)
- Demo: Silverlight Install (14:36)
- Summary (01:46)
Module 13
Blend (40:51)
- Introduction (01:26)
- Why Use Expression Blend? (00:42)
- Enter Expression Blend (00:24)
- Top Ten Blend Features (03:58)
- Why Use Expression Blend? (00:25)
- Expression Blend and SketchFlow (01:02)
- Working with Expression Blend (00:32)
- Obtaining Expression Blend (00:34)
- Demo: Expression Blend (01:01)
- Document Views (00:47)
- Demo: Document Views (00:57)
- Workspaces (01:01)
- Demo: Workspaces (01:46)
- The Expression Blend Toolbar (00:22)
- The Selection Tool (00:51)
- Direct Select Tool (00:29)
- The Pen/Pencil Tool (00:50)
- Demo: Tools (03:48)
- The Pan Tool (00:35)
- The Zoom Tool (00:21)
- Demo: More Tools (01:45)
- Eyedropper Tool (00:56)
- Paintbucket Tool (00:50)
- Demo: Even More Tools (02:18)
- Rectangle, Ellipse, and Line (00:42)
- Demo: Rectangle, Ellipse, Line (02:27)
- Brush Transform and Gradients (00:29)
- Demo: Brushes and Gradients (05:24)
- Layout Controls (00:16)
- Text Controls (00:09)
- Input Controls (00:10)
- The Asset Library (00:35)
- Asset Library Last Used Tool (00:27)
- Demo: Expression Blend Toolbar (02:11)
- Summary (00:03)
Blend designer panel (27:35)
- Introduction (00:15)
- Designer Panels (00:24)
- Objects and Timeline Panel (00:50)
- Demo: Objects and Timeline (04:48)
- The Projects Panel (00:31)
- Blend and Visual Studio (00:58)
- Demo: The Projects Panel (03:32)
- The Properties Panel (00:22)
- Filtering the Properties Panel (00:53)
- Demo: The Properties Panel (05:37)
- Transform Section (00:16)
- Render Transforms (00:19)
- Projection Transforms (00:25)
- Demo: Control Properties (01:45)
- Demo: Transform Section (01:48)
- Element to Element Binding (00:40)
- Demo: Element to Element Binding (03:08)
- Summary (00:57)
Module 14
Animations (20:52)
- Introduction (01:26)
- Getting Started (01:20)
- Understanding Animation (00:54)
- Limitations (00:37)
- Rules of Animation (01:49)
- Simple Animations (00:40)
- Demo: Simple Animation (05:39)
- The Animation Class (01:04)
- The Storyboard Class (01:15)
- The Event Trigger (01:08)
- More Limitations (00:39)
- Animating Multiple Properties (01:07)
- Demo: Multiple Properties (03:05)
- Summary (00:03)
More Animations (41:18)
- Introduction (00:15)
- Start Animation Using Code (00:48)
- Demo: Animations and Code (01:57)
- Using the ColorAnimation Class (01:06)
- What"s Up With Fill? (01:22)
- Demo: Color Animation (02:47)
- Using the PointAnimation Class (00:56)
- Demo: Point Animation (01:54)
- Animation with Key Frames (01:17)
- Interpolation Methods (02:57)
- Demo: Key Frames (07:33)
- Animation Properties (00:09)
- From Property (02:18)
- Demo: From Property (02:03)
- To Property (00:26)
- By Property (00:32)
- Demo: By Property (01:32)
- Duration Property (01:17)
- AutoReverse Property (00:36)
- Demo: AutoReverse Property (00:53)
- RepeatBehavior Property (00:54)
- RepeatBehavior and AutoReverse (00:30)
- Repeat for Time (00:51)
- Repeat Forever (00:36)
- Demo: RepeatBehavior Property (01:54)
- BeginTime Property (01:00)
- Demo: BeginTime Property (02:39)
- Summary (00:03)
Even More Animations (32:13)
- Introduction (00:15)
- Controlling Playback (00:33)
- Demo: Controlling Playback (02:21)
- Easing Functions (01:04)
- BounceEase (02:23)
- Easing Functions Again (02:37)
- Demo: Easing Functions (02:06)
- Another Example (01:49)
- Demo: Quartic Ease (02:17)
- Microsoft Easing Functions (03:03)
- Animating Brushes (00:38)
- Demo: Animate Brushes (01:47)
- Animate Transform (00:27)
- Demo: Animate Transforms (02:22)
- Animation in Blend (00:31)
- Demo: Animation in Blend (06:41)
- Summary (01:11)
Module 15
Iso Storage (31:06)
- Introduction (01:10)
- Isolated Storage (02:19)
- IsolatedStorageFile Class (01:48)
- Additional Classes (00:43)
- Demo: Write to Iso Storage (02:11)
- Demo: Read from Iso Storage (01:39)
- Demo: View Iso Storage Props (00:36)
- Demo: Change Size of Iso Store (01:50)
- Demo: Create a Directory (03:16)
- Demo: List Directories (00:50)
- Demo: Create Files (01:47)
- Demo: Delete Files (01:58)
- Demo: Delete Directory (00:39)
- Demo: Empty the Store (01:49)
- Demo: Application Settings (03:13)
- Demo: Save Data as XML (05:08)
- Summary (00:03)
WCF Data Serivces (51:23)
- Introduction (00:15)
- WCF Data Services (02:14)
- REST (00:13)
- REST Principles (01:21)
- Why Use REST vs SOAP? (01:03)
- WCF Data Services 2 (00:49)
- Creating a WCF Data Service (00:33)
- Demo: Create a WCF Data Service (08:45)
- Demo: Call WCF Data Service (08:38)
- Calling Services from Clients (00:44)
- WCF Data Services Client lib (01:41)
- Demo: Client Library (23:51)
- Summary (01:12)
Module 16
Cross Domain Calls (28:52)
- Introduction (00:55)
- Calling Services (02:03)
- Making Cross Domain Calls (01:29)
- Demo: Cross Domain Calls (04:51)
- Demo: Service on its own site (05:40)
- Demo: Calling Web-host Service (03:32)
- Demo: Client Access Policy (10:16)
- Summary (00:03)
Web Client (30:44)
- Introduction (00:15)
- Web Client Class (01:13)
- WebClient Methods (00:58)
- Two Examples Using WebClient (00:13)
- REST (00:15)
- REST Principles (01:34)
- Why Use REST vs SOAP? (01:00)
- REST and WCF (01:32)
- Demo: RESTful WCF Service (13:24)
- Syndication (01:29)
- Demo: Syndication (08:01)
- Summary (00:46)