Chapter 1. Introducing Silverlight
Figure 1.4. The tiers of a web page
Figure 1.5. Designer/Developer work distribution
Figure 1.6. Another Designer/Developer work distribution viewpoint
Figure 1.7. Any object that you create in XAML can also be created within code.
Figure 1.8. The relationship between an XAML file and a code-behind file within a C# project
Figure 1.9. The finished product of this “Blending it together” session
Chapter 2. Harmony with the web
Figure 2.3. The order in which the Silverlight Object Model renders content
Snippet 2.2. HTML: Instantiating the Silverlight control
Snippet 2.3. HTML: The initialization properties used by createObjectEx
Figure 2.5. The Silverlight installation prompt
Snippet 2.5. HTML: Registering events associated with a plug-in instance
Figure 2.7. The structure of a .xap file
Chapter 3. Back to the basics: Layout and text
Snippet 3.4. C#: Changing the position of an element at runtime
Figure 3.1. A sample crossword puzzle
Figure 3.2. A basic purchase order
Snippet 3.10. XAML Result: The basic syntax of a Grid
Snippet 3.11. XAML Result: Arranging content within a Grid
Snippet 3.14. XAML Result: A basic Grid using star sizing.
Snippet 3.15. XAML Result: A basic Grid using auto sizing
Snippet 3.20. XAML Result: The basic syntax and usage of a GridSplitter
Figure 3.3. A sampling of the font families supported within Silverlight
Figure 3.4. The formula to convert font points to pixels in Silverlight
Snippet 3.30. XAML Result: The relationship between the FontSize and LineHeight properties
Chapter 4. Handling user interaction
Snippet 4.4. C#: The mouse-related event handlers for implementing drag-and-drop
Figure 0.1. The text selection parts
Snippet 4.11. XAML Result: Manually controlling RadioButton groupings
Snippet 4.24. XAML Result: A basic Popup
Snippet 4.30. C#: Adding to the Stroke through the MoveMove event
Chapter 5. Getting down with data binding
Figure 5.1. A conceptual view of data binding.
Snippet 5.1. C# XAML: Adding a Binding to a TextBox from C#
Figure 5.2. A conceptual view of OneTime binding to a data source
Figure 5.3. A conceptual view of OneWay binding to a data source
Figure 5.4. A conceptual view of TwoWay binding to a data source
Snippet 5.5. C# XAML: Binding an Emoticon object (defined in snippet 5.4) to a Grid
Figure 5.5. LINQ enables you to seamlessly integrate disparate data types through managed code.
Snippet 5.17. C# XAML Result: A basic LINQ query over an array of strings
Chapter 6. Networking and communications
Snippet 6.3. C# XAML Result: Calling a simple SOAP service
Snippet 6.5. C# Service: Using complex data types with SOAP service
Chapter 7. Managing digital media
Snippet 7.4. C#: An example that shows the NaturalDuration of a MediaElement
Figure 7.1. The cycle of events as a media item plays progressively within a MediaElement
Figure 7.2. The difference between embedded and full-screen modes
Figure 7.3. The prompt displayed to users when they enter full-screen mode
Figure 7.7. A MultiScaleImage with a ViewportWidth of 0.33
Figure 7.8. The boundary of an Image element in comparison to the actual size of the photo
Chapter 8. Getting a grip on graphics
Snippet 8.8. XAML Result Type: An open shape compared to a closed shape
Figure 8.1. The Brush coordinate space
Figure 8.2. The end result of this Blending it Together section.
Chapter 9. Bringing it to life: Animation
Figure 9.1. An image fading into view over the course of one second
Snippet 9.1. XAML: XAML for fading in an Image over course of one second
Snippet 9.2. XAML: The XAML for a basic Ellipse
Figure 9.2. The effects of the SpeedRatio on a Timeline with a Duration of 10 seconds.
Figure 9.3. The effects of the RepeatBehavior on a Timeline with a Duration of 10 seconds.
Snippet 9.14. XAML: Animation overriding target of its parent Storyboard
Figure 9.4. The daisy-chaining syntax in action
Snippet 9.16. C# XAML: An animation that uses the playback methods and the Completed event
Snippet 9.17. XAML: Defining a Storyboard as a resource Snippet
Figure 9.5. A bouncing ball over some variable amount of time
Figure 9.6. How linear interpolation is determined
Figure 9.7. An example using spline interpolation for approximation
Figure 9.9. Sample time/value curves used by the KeySpline property
Figure 9.10. An example using discrete interpolation for approximation
Chapter 10. Giving it style
Snippet 10.1. XAML Result: The basic syntax and usage of a resource
Figure 10.1. A sample website project structure. Notice the four .png files.
Snippet 10.13. XAML Result: A basic Style definition. The text in the TextBox is entered at runtime.
Snippet 10.16. XAML Result: Changing the look of a Button through a Template
Snippet 10.17. XAML Result: Using a TemplateBinding to use the target elements properties
Snippet 10.21. XAML Result: Using a ControlTemplate within a Style
Figure 10.3. The parts of a Slider
Snippet 10.22. XAML: Creating a Button that enlarges when a user hovers over it
Snippet 10.23. XAML: Creating a Button that transitions when a user hovers, or leaves, it
Chapter 11. Enhancing the experience
Figure 11.1. An illustration of a potential isolated storage area
Snippet 11.9. C#: Creating a file within a user’s isolated storage area
Snippet 11.14. C#: Implementing the DoWork event
Snippet 11.15. C# Reporting progress changes from the BackgroundWorker
Snippet 11.16. C#: Canceling a BackgroundWorker when a user selects the Escape key
Snippet 11.17. C#: Handling the completion of the background task
Snippet 11.18. C#: Requesting some string content through the WebClient object
Snippet 11.25. C#: Loading an image from a compressed package that was retrieved on demand
Snippet 11.26. C#: Dynamically retrieving an application module
Snippet 11.28. C#: The complete class library in C#
Figure 11.2. The typical development approach using a language like C#
Figure 11.3. A possible development approach using metaprogramming
Chapter 12. Share the light: Distribution and deployment
Figure 12.1. A TextBox that can be locked
Snippet 12.1. XAML: The user interface for the LockableTextBox UserControl
Snippet 12.2. c#: The LockableTextBox class definition
Figure 12.2. The architecture for providing navigation
Snippet 12.7. c#: The definition of the NavigationService class