Silverlight 4 Unleashed

Author:   Laurent Bugnion
Publisher:   Pearson Education (US)
ISBN:  

9780672333361


Pages:   736
Publication Date:   04 November 2010
Format:   Paperback
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Our Price $131.97 Quantity:  
Add to Cart

Share |

Silverlight 4 Unleashed


Add your own review!

Overview

Printed entirely in color, with helpful figures and syntax coloring to make code samples appear as they do in Visual Studio and Expression Blend!   Using Silverlight 4, you can build richer and more powerful applications than ever before, and deploy them seamlessly in browsers, on desktop computers, and even on Windows Phone 7. In Silverlight 4 Unleashed, Microsoft Silverlight MVP Laurent Bugnion covers everything you need to do all this, and much more.   The only full-color, example-rich guide to Silverlight 4 for experienced Microsoft developers, Silverlight 4 Unleashed illuminates the entire development process: from installing Silverlight tools to building great user experiences, managing data to optimizing application performance.   You’ll master core Silverlight features such as controls and properties; communicating with web services; efficiently creating data-oriented line-of-business applications; working with external frameworks, and more. Bugnion concludes by showing how to use advanced features such as 3D-like effects and multitouch to deliver an even smoother, richer experience.   Install and use Silverlight Tools for Visual Studio Extend Silverlight applications with user and custom controls Group, sort, filter, page, bind, and validate data Take full advantage of the Model-View-ViewModel Pattern in Silverlight Access Web resources and services Control the application’s appearance with resources, styles, templates, and Expression Blend Sketch user experience and build iterative prototypes by easily getting feedback from end users Create data-oriented applications more easily with the WCF RIA Services framework Adapt Silverlight desktop applications for Windows Phone 7 Integrate effects and media into your applications Use Unity, MEF, and the MVVM Light Toolkit to write more maintainable, extensible software Optimize performance by reducing download size and memory footprint, and increasing execution speed

Full Product Details

Author:   Laurent Bugnion
Publisher:   Pearson Education (US)
Imprint:   Sams Publishing
Dimensions:   Width: 17.90cm , Height: 3.40cm , Length: 22.90cm
Weight:   1.350kg
ISBN:  

9780672333361


ISBN 10:   0672333368
Pages:   736
Publication Date:   04 November 2010
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Paperback
Publisher's Status:   Out of Print
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Table of Contents

Foreword    xxiii Introduction    1 1 Three Years of Silverlight    7 Discovering Silverlight 4    7 Learning Silverlight Is Betting on the Future     8 How Can They Be So Fast?    9 How About Compatibility with Older Versions?    9 Cross-Browser and Cross-Platform Compatibility    10 Windows and Macintosh     11 Linux    12 Alternatives to Silverlight     12 In the Web Browser     12 Out of the Browser     13 Legacy Technologies     14 A Short History of Silverlight     15 Silverlight 1.0    16 Silverlight 2    16 Silverlight 3    16 And Silverlight 4    17 Previewing the Future of Silverlight     17 Installing Silverlight 4 as a User     18 Opening a Silverlight 4 Application     19 What to Do If Silverlight Is Not Installed?     19 Exploring Silverlight 4 Demos    19 Deep Zooming the Matterhorn    19 Getting Involved Socially with Sobees    20 Navigating with Bing Maps Streetside and PhotoSynth    21 Visualizing Information with the Pivot Viewer    23 Drawing on the Web with Fantasia    25 How Can You Get Involved?     25 Summary     26 2 Setting Up and Discovering Your Environment    27 Installing Visual Studio    27 Visual Studio 2010    27 Visual Web Developer Express     28 Installing the Silverlight Tools for Visual Studio     28 Verifying the Installation     29 Inspecting the Application    31 Unpacking an XAP File    32 Using the Visual Studio Designer    32 Implementing Hello Silverlight     33 Checking the Properties Editor     34 Adding Some Text    36 Using Design Time Width and Height    39 Saving the Application     40 Installing Expression Blend     40 Creating a New Silverlight Application     40 Opening Hello Silverlight    41 Adding an Effect    42 Creating a Pulse Animation     44 Triggering the Storyboard    45 Testing the Application     46 Summary     47 3 Extending Your Application with Controls    49 Extending XAML    49 Mapping a Prefix to a CLR Namespace    49 Why Is a Prefix Not Always Needed?    52 Adding a Namespace to Any Element    52 Defining Your Own URI and Mapping CLR Namespaces    52 What’s a Control?     53 User Controls     53 Custom Controls     63 Summary     73 4 Investigating Existing Controls    75 Reviewing the Basics     75 Show Me Some Code!     76 Changes in Existing Controls    77 Mouse Wheel Support     77 Localizing for Right-to-Left Languages     77 Getting a Control Template’s Current State     78 Adding SelectedValue and SelectedValuePath     79 Adding Command and CommandParameter     79 Presenting and Editing Text with the RichTextBox     84 Zooming with the Viewbox    85 Opening a ChildWindow    87 Finding More Information    90 Where to Find Additional Controls?    90 Do You Really Need a Control?    90 The Silverlight Toolkit     91 Installing the Silverlight Toolkit     92 Third-Party Providers    101 Summary     102 5 Understanding Dependency Properties    103 Inheriting DependencyObject     104 Threading    104 Accessing a Dependency Property’s Value     105 Using a DependencyObject as Data Item    105 Registering Dependency Properties     108 Defining Metadata    109 Initializing Dependency Objects     111 Understanding Attached Properties    114 Using Attached Properties for Values    114 Registering an Attached Property    115 Using Custom Attached Properties in XAML     118 Implementing an Attached Behavior    118 Building on Attached Behaviors with Blend Behaviors    122 Adding a New Property with Snippets     123 Installing the Snippets for Silverlight     123 Using the Snippets    124 Calculating a Dependency Property’s Value     124 Getting the Property’s Base Value     126 Reading the Local Value     126 Summary     127 6 Working with Data: Binding, Grouping, Sorting, and Filtering    129 Diving into Data Bindings    130 Understanding a Binding’s Elements     130 Understanding the Namescope     132 Setting the Source     133 Refining the Path    136 Flowing in Two Directions     138 Converting the Values     138 Changing the Format     139 Handling Special Cases    141 Property Trigger     142 Validating Input    142 Using the Visual Studio Binding Dialog    146 Using the Expression Blend Binding Dialog     148 Debugging Data Bindings     149 Checking the Output Tab    149 Creating a Test Converter    150 Grouping, Filtering, and Sorting Data    151 Working with the CollectionViewSource     151 Using a PagedCollectionView    154 Binding Directly to the Source    154 Summary     155 7 Understanding the Model-View-ViewModel Pattern   157 About Design Patterns     157 Separating the Concerns    158 Why Is Separation Good?    158 Classic Separation Patterns    158 History of MVVM    159 Developing Expression Blend    160 Presentation Model for WPF and Silverlight     160 Architecture of MVVM    160 Translating to Silverlight     161 Two Kinds of View-models    162 Binding the View to the View-model    163 Understanding the Data Context    163 Inheriting the Data Context     164 Binding to the View    164 Building a Sample Application     168 The Model’s Interface     168 Building a CustomerViewModel    170 Calling the Service in the MainViewModel    172 Binding to Results    174 Testing the Application     177 Bridging the Separation     178 Implementing a ViewModelBase Class     178 Using Commands     180 Sending Messages     183 Using an MVVM Framework     184 What Could Be Better?     184 Summary     184 8 Using Data Controls    187 Filtering and Paging with the PagedCollectionView     188 Preparing the Sample    188 Building the PagedCollectionView    190 Filtering Data     192 Paging Through Data    194 Optimizing Data Handling    195 Implementing Custom Sorting     195 Adding a DataPager Control     196 Customizing the Display     197 Validating Data Input     197 Using Interface-Based Validation     198 Validating with Data Annotations     201 Validating Before or After the Data Is Set     203 Validating on the Client and on the Server    203 Reviewing the DataGrid    204 Using the DataGrid with Automatic Columns     204 Choosing Between DataGrid and ListBox     208 Editing Data in the DataForm     208 Adding a Description    210 Validating the Input     211 Committing Changes Manually    211 Defining Fields Manually     212 Getting More Information     213 Making a Simple Property Editor     213 Summary     214 9 Connecting to the Web    215 Getting Information from Cross-Domain Servers    216 Checking Whether a Policy File Exists    216 Working Around Cross-Domain Restrictions    217 Placing Simple Calls    218 Informing the User     218 Learning with a Sample    219 Downloading Strings     219 Detecting Errors, Checking the Result     223 Opening a Resource for Reading     224 Uploading a String    225 Opening a Resource for Writing    227 Accessing Headers    231 Sending Complex Messages    231 Posting a File to the Server with HttpWebRequest     231 Discovering the New Networking Stack    234 Using the Client HTTP Stack    235 Using Other HTTP Methods    236 Using the CookieContainer    236 Handling Responses    237 Handling XML Responses    238 Handling JSON Responses    238 Communicating with WCF     239 Setting Up a Service    239 Connecting the Client Application    241 Updating the Code on the Server     244 Publishing the Service     244 Summary     245 10 Creating Resources, Styles, and Templates    247 Working with Resources in XAML     248 Using Local Resources    248 Merging Dictionaries     249 From the Same Assembly     250 From a Different Assembly    251 Resolving Resources     254 Working with Resources in Blend     256 Merging a Resource Dictionary     256 Creating New Resources     257 Selecting a Resource for a Property     257 Using the Resources Panel    257 Cleaning Up Unused Resources    259 Using the Pistachio Tool    259 Styling a Control    260 Using Implicit Styles    261 Creating a Hierarchy of Styles    263 Creating a New Style in Blend     264 Templating a Control    265 Copying a Template in Blend    265 Creating a Custom Easing Function     269 Making a Control in Blend     270 Applying a Theme    271 Summary     272 11 Mastering Expression Blend    273 What Is Blend, Exactly?     274 Working as a Tool for Integrators    274 Editing XAML Markup     274 When Should You Use User Controls?    274 Making an Application Blend    275 Why Is Some Code Not Executed?    275 Why Does Some Code Fail?     275 Detecting the Cause of an Exception    276 Isolating Code in Design Mode    278 Creating Design Time Data in Blend     280 Understanding the Design-Time Data Context     288 Using Blend Behaviors     289 Behavior, Trigger, or Action?     292 Adding a Blend Behavior in Code    293 Creating a New Blend Behavior     293 Finding More Information    300 Summary     300 12 Sketching User Experience    301 Sketching as a Discovery Process    301 Using Sketching and Wireframing Tools     302 Other Kinds of Sketching     303 Discovering SketchFlow    304 Creating a New SketchFlow Application    305 Checking the Panels     305 Creating and Connecting Screens    305 Building the UI     308 Creating a Component Screen     309 Using Sketch Controls     310 Exploring the Sketch Controls     313 Creating States and Transitions    318 Building an Animation    321 Deploying the SketchFlow Application    323 Running the Prototype     323 Giving Feedback     324 Importing and Managing User Feedback     325 Importing and Exporting    325 Importing from Photoshop and Illustrator    326 Importing from PowerPoint     326 Exporting to Word    326 Integrating and Collaborating    327 Integrating into SharePoint    327 Integrating into Team Foundation Server    327 Summary     328 13 Creating Line-of-Business Applications    329 Preparing the Server-Side     331 Prerequisites     332 Preparing the Server-Side Application    332 Creating the Silverlight Client    333 Bringing the Client and the Server Together     334 Adding a Domain Service     334 Inspecting the Domain Service Class    335 Inspecting the Metadata    336 Creating a New Server-Side Query     336 Working with the Visual Designer     338 Understanding the DomainDataSource     339 Calling a Query with Parameter    339 Sorting the Data    341 Adding a Pager    341 Refactoring the Application to MVVM     342 Adding a View-model     342 Adapting the XAML Markup    345 Customizing the Columns     346 Localizing the User Interface    347 Adding a RelayCommand Class     348 Executing the CRUD Operations in Code     348 Displaying Messages from the View-model     351 Deleting an Order     354 Validating the Values    357 Filtering the Data    360 Showing Feedback While Processing     362 Sharing Code     363 Summary     363 14 Enhancing Line-of-Business Applications and Running Out of the Browser    365 Enhancing LOB Applications     365 Adding Paging    365 Showing Errors    369 Reconciling Data    371 Copying and Pasting Rows    373 Printing     373 Taking Silverlight Out of the Browser     382 Setting Up the Application    383 Uninstalling the Application    384 Debugging the OOB Application     385 Looking Under the Hood     386 Changing the Settings     387 Updating the Application    391 Installing from the Code     393 Saving Files     395 Working Offline    398 Summary     399 15 Developing Navigation Applications and Silverlight for Windows Phone 7    401 Navigating with Silverlight    401 Should You Always Use a Navigation Application?    404 Creating a New Navigation Application    404 Accessing Navigation Information    412 Providing Custom Navigation    413 Adding Navigation to a Non-Navigation Application    414 Developing with Silverlight for Windows Phone 7     415 Getting Hardware     416 Targeting a Specific Audience    416 Developing for Windows Phone 7     416 Developing for a Uniform Hardware Platform     417 Designing for the Phone     418 Installing the Tools     419 Selling Your Applications     420 Building Compatible Applications for the Desktop and the Phone    420 Continuing the Exploration    432 Summary     432 16 Using Effects and Recording Media    435 Creating Effects with Pixel Shaders     435 Writing, Finding, and Compiling Shader Files     436 Creating and Modifying Shaders with Shazzam    437 Integrating Shaders in the Application    438 Adding Properties and Animating Shaders     440 Using Shaders for Transitions in the VSM     443 Accessing the Webcam and the Microphone    443 Getting the List of Devices     444 Enabling Access    448 Displaying the Video Output     448 Detecting Whether Other Applications Use the Device    449 Capturing Audio     450 Converting to a WAV File    450 Creating a Sink     450 Using the SaveFileDialog     452 Using the Sink and Adding Commands     454 Wiring the Commands    456 Testing Audio Recording     457 Writing to a Bitmap     457 Saving the Picture to a PNG File     459 Manipulating Pixels    460 Extending WriteableBitmap    462 Using the Open File Dialog     464 Learning About News in Media    465 Summary     466 17 New Transforms, Right Click, HTML Browser, WebBrowserBrush, and Isolated Storage    467 Transforming Elements in a Projection    467 Setting Additional Properties    469 Using a Matrix3DProjection    470 Animating the PlaneProjection     470 Composing Transforms    472 Handling the Right-Click Event     473 Handling a Routed Event     473 Displaying a Context Menu     476 Hosting an HTML Browser (Out-of-the-Browser Only)     478 Understanding the Limitations    479 Building a Simple Web Browser     480 Loading HTML Content from Memory     484 Invoking JavaScript    485 Writing and Reading in the Isolated Storage     485 Saving to the Isolated Storage     485 Reading from the Isolated Storage     492 Deleting Files     495 Using the IsolatedStorageSettings     496 Trusting the Isolated Storage or Not     499 Painting with HTML     499 Summary     501 18 Drag and Drop, Full Screen, Clipboard, COM Interop, Duplex Polling, Notification Windows, and Splash Screens    503 Dragging and Dropping    503 Dragging Files on the Silverlight Application    504 Drag-and-Drop Restrictions    505 Working in Full Screen     507 Getting Keyboard Support in Full-Screen Mode (Elevated Permissions)    507 Using Full Screen on a Monitor While Working on Another     509 Copying to and from the Clipboard     510 Working with COM (Elevated Permissions)    512 Understanding the Restrictions    512 Communicating with Microsoft Office    512 Communicating over Duplex Polling     519 Implementing the Server-Side Service    519 Unregistering a Client     524 Configuring the Service    524 Implementing the Client    525 Unsubscribing and Resubscribing     528 Testing the Application     529 Displaying Notification Windows     530 Understanding the Restrictions    530 Adding a Notification Window    531 Queuing Notification Windows     533 Interacting with the Main Window    533 Creating a Custom Splash Screen    534 Summary     537 19 Authentication, Event to Command Binding, Random Animations, Multitouch, Local Communication, and Bing Maps Control    539 Logging In with Authentication    539 Creating a New Website     540 Adding and Managing Users     541 Configuring the Authentication Web Service    542 Checking the Access     544 Adding References to the Services    544 Implementing the Client    545 Binding an Event to a Command     547 Executing a Command When a TextBox Loses Focus    548 Building Random Animations     554 Creating the Base Animation in Blend     554 Randomizing the Animation    555 Implementing Multitouch in Silverlight    557 Getting the Right Computer     558 Investigating Existing Elements     559 Using Multitouch Libraries    560 Scaling, Rotating, and Translating     560 Implementing a Multitouch Application    561 Using Multitouch in Windows Phone 7 Applications    563 Finding More Information     563 Enabling Local Communication     563 Understanding the Restrictions    564 Building a Receiver     564 Building a Sender    565 Testing the Application     567 Mapping with the Bing Maps Control     567 Adding the Map    568 Getting Location Information and Marking It     569 Getting More Information     571 Summary     571 20 Building Extensible and Maintainable Applications    573 Inverting Dependencies with Unity    573 Refactoring to Smaller and Simpler Classes     575 Setting Up the Services     578 Calling the Setup Method and Wiring Up     582 Discovering More About Unity     583 Composing an Application with MEF    583 Exporting and Importing     584 Downloading on Demand    594 What About Prism?     603 Using an MVVM Framework     604 Discovering the Components     604 Sending Messages     604 Summary     607 21 Optimizing Performance    609 Improving the XAP Download Time    609 Loading Content on Demand     611 Caching Common Assemblies     615 Virtualizing the User Interface     616 Virtualizing the ItemsControl     617 Unvirtualizing the ListBox     619 Simplifying the DataTemplate    619 Creating Items in Batches    620 Working in Threads     621 Accelerating the User Interface    624 Enabling Hardware Acceleration in the Browser     624 Enabling Hardware Acceleration Out of the Browser     628 Accelerating with Care     629 Accelerating in the Windows Phone 7    630 Using a Code Profiler    630 Avoiding Memory Leaks     631 Saving an Object on the Stack or the Heap     631 Collecting Garbage and Leaking Memory     632 Living a Shorter Life     635 Unregistering Event Handlers     635 Disposing Objects     637 Using Weak References    637 Finding a Leak     638 Summary     639 22 Advanced Development Techniques    641 Using New C# and     NET Features    641 Using Modern Programming Syntax    641 Creating Extension Methods    645 Consuming Dynamic Objects     646 Using Named/Optional Parameters    646 Localizing Applications    647 Adding a Resource File    647 Making an Application Localizable    648 Using Tools     651 Downloading Resource Applications on Demand    652 Encrypting and Decrypting     652 Understanding the Encryption/Decryption Mechanism    652 Multithreading     653 What Is a Thread?    653 Using the ThreadPool    654 Dispatching Back to the UI Thread    657 Creating and Using a BackgroundWorker    660 Locking Critical Resources    663 Enhancing Multithreaded Code    666 Unit Testing the Application     667 Installing a Unit Test Framework     668 Adding Functionality with TDD     668 Using Code Coverage     673 Unit Testing Windows Phone 7 Applications    673 Summary     674 Conclusion 675 Index 677  

Reviews

Author Information

Laurent Bugnion works as a senior user-experience integrator for IdentityMine, one of the leading companies committed to redefining the user experience and a Microsoft Gold Partner dedicated to easing the adoption and optimal use of Microsoft presentation technologies, including Windows Presentation Foundation (WPF), Silverlight, Windows Phone 7, Surface, and Windows 7.   Originally an electronics engineer, Laurent achieved postgrad credentials in software engineering in 1999. Before IdentityMine, he worked for Siemens for 13 years, introducing WPF and other .NET 3.5 technologies worldwide. His responsibilities involved developing with the previously mentioned technologies, training and coaching his colleagues, coordinating and integrating the graphic-design work, and fostering relationships with Microsoft. Before that, he wrote embedded C/C++, and then moved to desktop computers in Java, JavaScript, and eventually .NET (desktop and ASP.NET).   Privately, he codes in Silverlight, WPF, and ASP.NET. He blogs on http://blog.galasoft.ch and writes on http://www.galasoft.ch, where he publishes articles, prototypes, and demos related to the previously mentioned technologies. In 2008, he earned an MCTS for WPF. (In October of that same year, his book Silverlight 2 Unleashed was published.) This year, 2010, is his fourth year as a Microsoft MVP (Silverlight), and he was selected this year as Silverlight MVP of the year.   Laurent is based in Zurich, Switzerland, where he lives with his wife, Chi Meei, and his two daughters, Alise and Laeticia.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

wl

Shopping Cart
Your cart is empty
Shopping cart
Mailing List