Silverlight 5 in Action
Pete Brown
  • June 2012
  • ISBN 9781617290312
  • 1000 pages
  • printed in black & white

As entertaining as it is educational. Pete covers Silverlight 5 like no one else!

Joe Suchy, ATC Transportation

A thorough revision of the bestselling Silverlight 4 in Action. This comprehensive guide teaches Silverlight from the ground up, covering all the new v. 5 features in depth. You'll also explore WCF RIA Services, MVVM, and more, with dozens of code samples you can use in Visual Studio 2010 or the free Visual Web Developer 2010 Express.

Table of Contents show full

preface

acknowledgments

about this book

about the cover illustration

Part 1 Core Silverlight

1. Introducing Silverlight

1.1. Silverlight primer

1.2. A brief history of Silverlight

1.3. Getting started with Silverlight development

1.4. Building your first Silverlight web application

1.5. Summary

2. XAML and the property system

2.1. XAML basics

2.2. Object trees and namescope

2.3. XAML type converters

2.4. Loading XAML at runtime

2.5. Summary

3. The application model and the plug-in

3.1. The Silverlight application model

3.2. Creating the Silverlight plug-in

3.3. Integrating the Silverlight plug-in

3.4. Summary

4. Working with HTML and browsers

4.1. Silverlight and the HTML DOM

4.2. Working with the web page from managed code

4.3. Working with the hosting browser window

4.4. Bridging the scripting and managed code worlds

4.5. Hosting HTML in Silverlight

4.6. Summary

5. Out-of-browser applications

5.1. Implementation specifics

5.2. The end-user experience

5.3. Creating out-of-browser applications

5.4. Alerting the user with notification toast

5.5. Controlling the host window

5.6. Summary

6. The security model and elevated trust

6.1. Code classifications and the transparency model

6.3. Elevated trust

6.4. Summary

Part 2 Creating the user interface

7. Rendering, layout, and transforming

7.1. The UIElement and FrameworkElement

7.2. The rendering process

7.3. The layout system

7.4. Render transforms

7.5. 3D projection transforms

7.6. Summary

8. Panels

8.1. Canvas

8.2. The StackPanel

8.3. The WrapPanel

8.4. The Grid

8.5. Summary

9. Human input

9.1. Capturing the keyboard

9.2. Mouse input

9.3. Using multitouch

9.4. Collecting ink drawings

9.5. Summary

10. Text fundamentals

10.1. The text system

10.2. Displaying text

10.3. OpenType font support

10.4. Embedding fonts

10.5. Summary

11. Editing plain and rich text

11.1. Handling basic text input

11.2. Understanding input method editors

11.3. Copying text with the Clipboard API

11.4. Collecting sensitive data

11.5. Entering and displaying rich text

11.6. Multicolumn and free-form linked text

11.7. Summary

12. Control basics and UserControls

12.1. Control

12.2. ContentControl

12.3. Button controls

12.4. ItemsControls

12.5. Creating UserControls

12.6. Summary

13. Animation and behaviors

13.1. Animating a value over time

13.2. Mastering the timeline

13.3. Storyboards

13.4. Keyframing

13.5. Interpolation

13.6. Easing functions

13.7. Behaviors, triggers, and actions

13.8. Summary

14. Resources, styles, and control templates

14.1. Being resourceful

14.2. Giving your elements style

14.3. Creating templates

14.4. Dealing with visual states

14.5. Sharing your visual states

14.6. Summary

15. Extensions, converters, custom controls, and panels

15.1. Markup extensions

15.2. Custom type converters

15.3. Creating a custom panel

15.4. Creating a custom control

15.5. Summary

Part 3 Working with data and services

16. Binding

16.1. Binding basics

16.2. Understanding your binding source

16.3. Binding to dynamic properties

16.4. Customizing the display

16.5. Creating explicit data templates

16.6. Creating implicit data templates

16.7. Summary

17. Data controls: DataGrid and DataForm

17.1. The DataGrid

17.2. The DataForm

17.3. Annotating for display

17.4. Summary

18. Input validation

18.1. The validation example source and UI

18.2. Exception-based property validation

18.3. Synchronous validation with IDataErrorInfo

18.4. Asynchronous validation with INotifyDataErrorInfo

18.5. Annotating for validation

18.6. Comparison of validation approaches

18.7. Summary

19. Networking basics

19.1. The web request/response pattern

19.2. Simplifying the request/response pattern with WebClient

19.3. Asynchronous communication

19.4. Trust and cross-domain network access

19.5. The browser HTTP stack

19.6. The client HTTP stack

19.7. Checking the network state

19.8. Summary

20. Working with SOAP services

20.1. Introducing ASP.NET SOAP services using ASP.NET

20.2. Using WCF services and complex data types

20.3. Using the configuration file

20.4. Error handling with WCF

20.5. Summary

21. RESTful services with the ASP.NET Web API

21.1. Creating a RESTful service using the ASP.NET Web API

21.2. Consuming REST services

21.3. Summary

22. Working with XML, JSON, RSS, and Atom

22.1. Parsing plain old XML

22.2. Working with JSON

22.3. Working with RSS and Atom

22.4. Summary

23. Duplex, sockets, and local connections

23.1. WCF polling duplex services

23.2. Connecting to sockets

23.3. Multicast sockets

23.4. Connecting to other local Silverlight applications

23.5. Summary

Part 4 2D and 3D graphics

24. Graphics and effects

24.1. Shapes

24.2. Geometry

24.3. Brushes

24.4. Effects

24.5. Summary

25. Working with images

25.1. Basic imaging

25.2. Creating images at runtime

25.3. Deep Zoom

25.4. Dealing with dead space

25.5. Summary

26. Introduction to 3D

26.1. 3D—a natural way of interacting with information

26.2. The Silverlight/XNA 3D API

26.3. Detecting capabilities with the GraphicsDeviceManager

26.4. Using the DrawingSurface

26.5. Project structure: the scene and objects

26.6. Vertices

26.7. Primitives

26.8. Summary

27. 3D lighting, texturing, and animation

27.1. Lighting and normal vectors

27.2. Applying a texture

27.3. Coordinate spaces and matrices

27.4. Keyframe animation

27.5. Summary

Part 5 Making the most of the platform

28. Pop-ups, windows, and full-screen applications

28.1. Showing pop-ups and child windows

28.2. Creating native windows

28.3. Running in full screen

28.4. Summary

29. Navigation

29.1. Browser navigation background

29.2. The Navigation Application template

29.3. Navigating to pages

29.4. Navigation out of the browser

29.5. Summary

30. Working with files and directories

30.1. Using the file open and save dialogs

30.2. Working with directories

30.3. Working with individual files

30.4. Storing data in isolated storage

30.5. Summary

31. Printing

31.1. How Silverlight printing works

31.2. Printing onscreen information

31.3. Multipage printing dedicated trees

31.4. Summary

32. COM, Native Extensions, and p-invoke

32.1. COM automation

32.2. Native Extensions for Silverlight

32.3. P-invoke for API calls

32.4. Summary

Part 6 Best practices

33. Structuring and testing with the MVVM pattern

33.1. Project setup and traditional code-behind approach

33.2. Model-View-ViewModel basics

33.3. Factoring out reusable code

33.4. Better separation from the UI

33.5. Testing MVVM applications

33.6. Summary

34. Debugging your application

34.1. Debugging basics

34.2. Binding debugging

34.3. Troubleshooting network operations

34.4. Summary

35. The install experience and preloaders

35.1. Handling the ‘Silverlight not installed’ scenarios

35.2. Using a custom preloader

35.3. Summary

© 2014 Manning Publications Co.

About the book

This hands-on guide explores Silverlight from the ground up, covering every feature in rich, practical detail. It is readable and the coverage is comprehensive. You'll master networking, MVVM, and more, with dozens of code samples you can use in Visual Studio or the free Visual Web Developer Express.

Silverlight 5 in Action teaches you how to build desktop-quality applications you can deploy on the web. Beginners will appreciate the progression from simple examples to full applications that employ good design and coding practices. Seasoned . NET developers will love how the sample code embraces and extends what they already know.

What's inside

  • 2D and 3D graphics and animation
  • Business application services, rules, and validation
  • The MVVM pattern and testing
  • 5 free appendixes (150 pages) available online

About the reader

A background in C# or VB.NET is helpful, but no knowledge of Silverlight or XAML is required.

About the author

Pete Brown leads Microsoft's Silverlight/XAML Developer Community team. He's been a Silverlight MVP, an INETA speaker, and successful RIA Architect.


combo $59.99 pBook + eBook
eBook $47.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

The go-to source for real Silverlight 5 answers and examples.

Dave Campbell, WynApse

Hands down THE best reference for everything Silverlight.

Michael Crump, Telerik

A must-have book for every Silverlight developer.

Dave Davis, BlueMetal Architects Inc.