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# Training
-
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