Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
CHAPTER 1 Introducing Silverlight
Cross-Platform Frameworks
Qt
The Java Platform
Flash/Flex
Silverlight
The History of Silverlight
Creating Your First Application
Summary
CHAPTER 2 Getting to Know XAML
Introducing XAML
Namespaces
Dependency Property System
Type Converters
Markup Extensions
More About Silverlight Applications
Events in Silverlight
Summary
CHAPTER 3 Creating User Interfaces
Building Blocks
DependencyObject
UIElement
FrameworkElement
Positioning Objects on Screen
Canvas
StackPanel
Grid
Customizing Silverlight Controls
ContentControl
Border
The Button Controls
TextBlock
TextBox
ItemsControl
Popup
ToolTipService
RangeBase
ScrollViewer
Incorporating SDK Controls
GridSplitter
Calendar and DatePicker
TabControl
Implementing Navigation
Summary
CHAPTER 4 Network Communication
Enabling Cross-Domain Communication
Using Services
Creating and Using a Client Service Proxy
Communicating Over HTTP Directly
The HttpWebRequest Class
Raw Network Communication
The Socket Class
The SocketAsyncEventArgs Class
Using the Socket Class
Considerations for Using Networking
Summary
CHAPTER 5 Working with Data
Displaying Data
Data Binding
Introducing the DataGrid
Processing Data
Parsing XML
Serializing XML
Using LINQ
Saving State on the Client
Summary
CHAPTER 6 Working with Media
Images
Multiscale Images (Deep Zoom)
Media (Video and Audio)
Timeline Markers
Silverlight Streaming
Preparing an Application
Packaging Images and Media18
Summary
CHAPTER 7 Extending the User Interface
2D Graphics
Using Geometries
Using Shapes
Transforms
Translation
Rotation
Skewing
Scaling
Arbitrary Linear Transforms
Combining Multiple Transformations
Brushes
The SolidColorBrush
The Tile Brushes
The Gradient Brushes
Summary
CHAPTER 8 Styling and Templating
Using Styles
Using Control Templates
Creating a Control Template
Control Templates for Other Controls
Developing a Templated Control
Summary
CHAPTER 9 Animation
Animation Basics
Timelines
Storyboards and Animation
From/To/By Animations
Keyframe Animations
Animating with Expression Blend
Summary
CHAPTER 10 Dynamic Languages and the Browser
Introducing Dynamic Languages
The DynamicApplication Class
Creating a Dynamic Language Application
Executing a Dynamic Language Application
Developing with Dynamic Languages
Interoperating with the Browser
Summary
CHAPTER 11 Security
Security in the CoreCLR
Application-Level Security
Securing Information in Transit
Securing Information with Cryptography
Division of Responsibility
Summary
CHAPTER 12 Testing and Debugging
Testing
Unit Testing
Automated User Interface Testing
Debugging
The Debugging Process
Conditional Compilation
Debugging with Visual Studio
Handling Unhandled Exceptions
Summary
CHAPTER 13 Packaging and Deploying Silverlight Applications
Client Considerations
Silverlight Deployment Packages
Hosting Silverlight on a Web Page
Silverlight Versioning
Custom Initialization Parameters
Resources
Silverlight and the Build Process
Silverlight Assemblies
Summary
CHAPTER 14 Advanced Topics
Threading
The Thread Class
Creating and Managing Threads
The Dispatcher
The BackgroundWorker Class
Working with Shared Data
Using Timers
The DispatcherTimer
The SystemThreading Timer
Dynamically Loading Applications
Summary
CHAPTER 15 Case Study: Campus Explorer
Application Features
Design of the Application
User Interface Design
Data Representation
Packaging of the Application
Application Implementation
Helper Methods
XAML Organization
MainPage
Map.xaml
Summary
INDEX