Audience

Programmers needing to create web applications using Silverlight.

Prerequisites

A basic understanding of Web application development using HTML and programming experience in .NET using C#. Some exposure to JavaScript would be helpful but is not essential. A basic knowledge of ADO.NET is also desirable for the data access chapter.

Duration

Four days

Outline for Silverlight 4 Using C#

  • 1. Introduction to Silverlight

  • What Is Silverlight?
  • Silverlight and AJAX
  • Silverlight and Flash
  • Installing the Silverlight Plug-In
  • Silverlight Tools
  • Hello Silverlight
  • Allowing Blocked Contact
  • Default.html
  • Page.xaml
  • XAML
  • XHTML
  • JavaScript Helper Functions
  • Using Silverlight.js
  • createSilverlight.js
  • Using createObjectEx()
  • Width and Height in Per Cent
  • Providing for User Plug-In Download
  • Automatic Plug-In Download

2. Programming Silverlight

  • Silverlight Programming Models
  • Interactive JavaScript Applications
  • Using the Document Object Model
  • Default.html
  • JavaScript Code
  • XAML Files
  • Using Visual Studio 2010
  • Hosting the Silverlight Application
  • MainPage.xaml
  • MainPage.xaml.cs
  • Designer Support
  • Layout Panels
  • Using a StackPanel
  • Handling Events in Managed Code
  • Events Window
  • Adding Events in XAML
  • Code-Behind File
  • Names of XAML Elements
  • Silverlight Controls
  • Application Package (.xap)

3. Using XAML

  • Windows Presentation Framework
  • What Is XAML?
  • Missing XML Namespace
  • Default Namespace
  • <TextBlock> as the Root Element
  • Canvas
  • An Opaque Ellipse
  • Property Element
  • Type Converters
  • Content Element Syntax
  • Collection Syntax
  • Implicit Collection Syntax
  • Attached Properties
  • XAML and C#
  • Assigning Property Values
  • Using the XAML Namespace
  • Assigning Simple Properties
  • Properties Attached to Canvas
  • Assigning Attached Properties
  • XamlReaderLoad()
  • BrushFromString()
  • Navigating from the Root
  • MainPage.xaml
  • Code-Behind File
  • Using an Event Sender
  • Handling an XAML Event

4. Shapes and Lines

  • Shapes
  • Size and Position
  • Rectangle and Ellipse
  • MainPage.xaml
  • MainPage.xaml.cs
  • More Shape Properties
  • Opacity and Visibility
  • Receiving Mouse Events
  • Polygon
  • Line
  • Dashed Lines
  • Polyline
  • Path
  • Arc Segments
  • Bezier Curves
  • Clipping

5. Texts and Fonts

  • TextBlock
  • Text Wrapping
  • Font Attributes
  • Font Families
  • Font Weights
  • Additional TextBlock Properties
  • TextBlock Dimensions
  • ActualWidth and ActualHeight
  • Rich Text Content
  • Run and LineBreak

6. Brushes and Images

  • Brushes
  • SolidColorBrush
  • Predefined Color Names
  • RGB Color Space
  • Enhanced RGB Color Space
  • Gradient Brushes
  • Linear Gradient Brushes
  • Default Gradient Axis
  • Horizontal and Vertical Gradient Axis
  • Color Interpolation Mode
  • Spread Methods
  • Repeat and Reflect
  • Alpha Channel Changes
  • Painting Other Shapes
  • Radial Gradient Brushes
  • GradientOrigin
  • ImageBrush
  • Using an ImageBrush with Text
  • Image
  • Stretch Property
  • Code-Behind File

7. Layout

  • Layout in Silverlight
  • Controlling Size
  • Margin and Padding
  • Thickness Structure
  • Alignment
  • Panels
  • Grid
  • Using the Collections Editor
  • Star Sizing
  • Grid.ColumnSpan
  • Positioning on a Canvas
  • Moving Elements
  • Z-Order
  • Clipping

8. Handling Events

  • Events in Silverlight
  • Event Handlers in XAML
  • Adding/Removing Event Handlers
  • Loaded Event
  • Mouse Events
  • Microsoft Silverlight Configuration
  • MouseEventArgs
  • C# Code
  • Rubber-Band Drawing
  • Naïve Implementation
  • drawRect() Helper Function
  • Final Implementation
  • Drag and Drop
  • Drag and Drop – XAML File
  • Drag and Drop – Code-Behind
  • Capturing the Mouse
  • Routed (or “Bubbled”) Events

9. Animation and Media

  • Manual Animation
  • Silverlight Animation
  • Storyboard Methods
  • User Interface
  • DoubleAnimation
  • ColorAnimation
  • ColorAnimation – Code-Behind
  • PointAnimation
  • Audio and Video
  • Resources
  • Loose Files as Resources

10. Application Structure and Networking

  • Silverlight Application Structure
  • AXML Processing Simple Package
  • Application Package
  • Application Manifest
  • Application Class
  • Image Resource Files
  • Resource File in a Component
  • Resource File in the Package
  • Application Library Caching
  • External Parts
  • CopyLocal is False
  • Using WebClient
  • Downloading Content on Demand
  • DoanLoadImage Code

11. Web Services

  • Accessing Web Services in Silverlight
  • REST
  • EchoREST Web Service
  • SOAP
  • Web Service Proxies
  • Windows Communication Foundation
  • EchoSOAP Web Service

12. Data Controls and Data Binding

  • ListBox Control
  • Book.cs
  • Auto-Implemented Properties
  • Using Items Property
  • Deleting a Book
  • Selection
  • Binding to a Collection
  • DataPager Control
  • DisplayMode
  • DataGrid Control
  • Paging with DataGrid
  • Sorting with DataGrid
  • More about Data Binding
  • Dependency Properties
  • Binding Object
  • ElementName Binding
  • Binding to a CLR Object
  • Change Notification
  • Updating the Book Object
  • INotifyPropertyChanged
  • Notification with Collections
  • Book Class
  • MainPage.xaml.xs
  • Updating Collection Elements
  • Notification by Collection Elements
  • Notification in Book Class

13. Data Access

  • Accessing Data on the Server
  • SmallPub Database
  • ADO.NET Entity Framework
  • SmalPub Tables
  • SmallPub Entity Data Model
  • Entity Data Model Concepts
  • Querying the EDM
  • Class Diagram
  • Context Class
  • List of Categories
  • List of Books
  • Language Integrated Query (LINQ)
  • IntelliSense
  • Modifying a Data Source
  • Entity Framework in a Class Library
  • Data Access Class Library
  • Client Code
  • Silverlight Database Clients
  • Adding a Web Service
  • Consuming a Web Service
  • Modifying the Configuration File
  • Auto-Generated Columns
  • WCF Data Services
  • Choosing Data Objects
  • BookModel.edmx
  • WCF Data Service Template
  • DataService Class
  • A REST-based Web Service
  • Disabling Feeds
  • Open Data Protocol (OData)
  • OData and WCF Data Services
  • URI Conventions
  • Resource Path Options
  • Query String Options
  • OData Operations
  • A Console Client
  • A Silverlight Client
  • Accessing XML Data
  • Accessing an XML File
  • Using LINQ to XML
  • Isolated Storage
  • Isolated Storage Store
  • Saving Data to a File
  • Loading Data from a File
  • Deleting a File

14. Additional Features

  • HTML Bridge
  • HAMTL and JavaScript
  • HtmlPage Class
  • JavaScript from Managed Code
  • Managed Code from JavaScript
  • Out-of-Browser Support
  • Configuring Out-of-Browser Support
  • Installing Out-of-Browser
  • Running Out-of-Browser
  • Application Manifest
  • Elevated Trust
  • Printing
  • Print Dialog Box
  • Printing Code
  • Clipboard Access

Appendix A – Learning Resources

Appendix B – Transforms

  • Transforms
  • Translate Transform
  • A Dynamic Transform
  • Rotate Transform
  • Scale Transform
  • Skew Transform
  • Combining Transforms