Table of Contents

Introduction
   Overview
   What this Book includes
   Is This Book for You
   What Do You Need to Use This Book
   How This Book Is Organized
   Using Code Examples
   Customer Support


Chapter 1: Overview of Silverlight Programming
   XAML Basics

      Why XAML Needed?
      Creating XAML Files
      Code-Behind Files
   Your First Silverlight Program

      Properties in XAML
      Event Handlers in Code-Behind Files
      Code-Only Example
   Hosting Silverlight Controls


Chapter 2: Graphics Basics in Silverlight
   2D Coordinate Systems in WPF

      Default Coordinates
      Custom Coordinates
      Custom Coordinates for 2D Charts
         2D Viewport
         Zooming and Panning
   Basic 2D Graphics Shapes

      Lines
      Rectangles and Ellipses
      Polylines
      Polygons

Chapter 3: 2D Transformations
   Basics of Matrices and Transforms

      Scaling
      Reflection
      Rotation
      Translation
   Homogeneous Coordinates

      Translation in Homogeneous Coordinates
      Scaling in Homegeneous Coordinates
      Rotation in Homegeneous Coordinates
      Combining Transforms
   Vector and Matrix in Silverlight

      Vector Class
         Basic Definition
         Mathematical Operators
      Matrix Structure
      Creating Perpendicular Lines
   Object Transforms in Silverlight

      MatrixTransform Class
      ScaleTransform Class
      TranslateTransform Class
      RotateTransform Class
      SkewTransform Class
      Combining Transforms

Chapter 4: Geometry and 2D Drawing
   Path and Geometry Classes

      Line, Rectangle, and Ellipse Geometries
      GeometryGroup Class
      PathGeometry Class
         Lines and Polylines
         Arcs
         Bezier Curves
      Path Mini-Language
   Interactive 2D Drawing

      Mouse Events
      Creating Shapes
      Dragging and Moving Shapes
      Zooming and Panning
      Hit Testing in Silverlight

Chapter 5: Colors and Brushes
   Colors

      System Colors
      Custom Brushes Class
   Brushes

      SolidColorBrush
      LinearGradientBrush
      Custom Colormap Brush
      RadialGradientBrush
      Custom Radial Colormap Brush
      ImageBrush
      Opacit Masks
   Brush Transforms

      LinearGradientBrush Transform
      RadialGradientBrush Transform
      ImageBrush Transform

Chapter 6: Animation
   Silverlight Animation Basics

      Property-Based Animation
      A Simple Animation Example
      Animation in Code
      Animation and Timing Behavior
         Duration
         RepeatBehavior
         AutoReverse
         BeginTime
         Speed Controls
      Interactive Control
   Animation and Transform

      Animating Translation
      Rolling Balls
      Combining Transform Animation
   Frame-Based Animation

      Key-Frame Animation
      Spline Key-Frame Animation
   Path Animation

      Path Animation Using Timer
      Path Animation Using Key-Frames

Chapter 7: Physics and Games in Silverlight
   Ordinary Differiential Equations

      Fourth-Order Runge-Kutta Method
      Higher-Order ODEs
      ODE Solver
   Pendulum

      Equation of Motion
      Pendulum Simulator
   Couple-Spring System

      Equations of Motion
      Coupled-Spring Simulator
   Projectiles

      Aerodynamic Drag Force
      Projectile Equations of Motion
      Golf Game
   Collission

      Bouncing Ball Physics
      Bouncing Ball Simulator

Chapter 8: Charts in Silverlight
   Simple Line Charts

      Creating Simple Line Chart
      How It Works?
   Line Charts with Data Collection

      Chart Style
      Data Collection
      Data Series
      Creating Charts
   Gridlines and Labels

      XAML Layout
      ChartStyleGridlines Class
      Testing Project
   Legend

      Legend Class
      Testing Project

Chapter 9: 3D Transformations
   Basic 3D Transformations

      3D Points, Vector, and Matrix
         Point in 3D
         Vector in 3D
         Matrix in 3D
      Scaling
      Translation
      Rotation and Quaternion
   Projections

      Orthographic Projections
         Multi-View Projections
         Axonometric Projections
      Perspective Projections
         One-Point Perspective Projections
         Two-Point Perspective Projections
         Three-Point Perspective Projections
         Perspective Projection Matrix
         Projection Matrices in Silverlight
   3D Objects in Silverlight

      Backface Removal
      Creating Cube in Silverlight
   Object Transformations in Silverlight
      Scale Transform
      Translate Transform
      Matrix Transform

Chapter 10: 3D Objects in Silverlight
   3D Coordinate Axes

      Coordinate3D Class
      Creating 3D Coordinate Axes
      3D Line Charts
   Creating a Cube

      Cube Class
      Creating Multiple Cubes
      Animating Cubes
   Creating a Sphere

      Sphere Class
      Creating Multiple Spheres
      Animating Spheres
   Creating a Cylinder

      Cylinder Class
      Creating Multiple Cylinders
      Animating Cylinders
   Creating 3D Surfaces

      Surface Class
      Creating Simple Surfaces

Chapter 11: Silverlight Built-in Controls
   Layout Controls

      StackPanel
      Grid
      Canvas
   Text Controls

      TextBlock
      TextBox
      WatermarkedTextBox
   Button Controls

      Button
      CheckBox
      RadioButton
   ToolTip

   ListBox and DataGrid Controls

      ListBox
      DataGrid
   Other Common Controls

      HyperlinkButton
      Calendar and DatePicker
      Image
      MediaElement
   Ink Control

   MultiScaleImage Control and Deep Zoom


Chapter 12: Styles, Templates, and Data Binding
   Styles

      A Simple Style Example
      Control Styles
   Control Templates

      Creating Control Templates
      Template Binding
      Default Templates
   Data Binding

      Element-To-Element Binding
      Binding to Non-Element Objects
      Binding to Object Collection

Chapter 13: Expression Blend
   Expression Blend Overview

      Workspace
      File Structure
      Toolbox
      Artboard and Interaction Panel
      Properties Panel
   Using Expression Blend

      Rectangle Animation
         Creating the Rectangle Shape
         Creating Animation
         Event Handling
      Dynamic Menu

Chapter 14: Custom Controls
   Creating a User Control Using Visual Studio

      Implementing the User Control
      Testing the User Control
   Creating a User Control Using Expression Blend

      Making a User Control
      Data Binding
   Creating a Silverlight Class Library

      Silverlight Class Library Example
      Implementing Class Library
      Testing Booklist Library

Index