Pro Silverlight 5 in VB. Matthew Macdonald

Size: px
Start display at page:

Download "Pro Silverlight 5 in VB. Matthew Macdonald"

Transcription

1 Pro Silverlight 5 in VB Matthew Macdonald

2 Pro Silverlight 5 in VB Copyright 2012 by Matthew Macdonald All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN ISBN (ebook) Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. President and Publisher: Paul Manning Lead Editor: Ewan Buckingham Technical Reviewer: Fabio Claudio Ferracchiati Editorial Board: Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Morgan Ertel, Jonathan Gennick, Jonathan Hassell, Robert Hutchinson, Michelle Lowman, James Markham, Matthew Moodie, Jeff Olson, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Gwenan Spearing, Matt Wade, Tom Welsh Coordinating Editor: Adam Heath Copy Editor: Kim Wimpsett Compositor: Bytheway Publishing Services Indexer: BiM Indexing & Proofreading Services Artist: SPI Global Cover Designer: Anna Ishchenko Distributed to the book trade worldwide by Springer Science+Business Media, LLC., 233 Spring Street, 6th Floor, New York, NY Phone SPRINGER, fax (201) , , or visit. For information on translations, please , or visit. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. ebook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales ebook Licensing web page at. The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at. You will need to answer questions pertaining to this book in order to successfully download the code.

3 For my family

4 Contents at a Glance Contents... vi About the Author... xxviii About the Technical Reviewer... xxix Acknowledgments... xxx Introduction... xxxi Chapter 1: Introducing Silverlight... 1 Chapter 2: XAML Chapter 3: Layout Chapter 4: Dependency Properties and Routed Events Chapter 5: Elements Chapter 6: The Application Model Chapter 7: Navigation Chapter 8: Shapes and Transforms Chapter 9: Brushes, Bitmaps, and Printing Chapter 10: Animation Basics Chapter 11: Advanced Animation Chapter 12: Sound, Video, and Deep Zoom Chapter 13: Silverlight 3D Chapter 14: Styles and Behaviors Chapter 15: Control Templates Chapter 16: Multithreading iv

5 AT A GLANCE Chapter 17: Browser Integration Chapter 18: Out-of-Browser Applications Chapter 19: ASP.NET Web Services Chapter 20: Data Binding Chapter 21: Data Controls Chapter 22: File Access Chapter 23: Networking Index v

6 Contents Contents at a Glance... iv About the Author... xxviii About the Technical Reviewer... xxix Acknowledgments... xxx Introduction... xxxi Understanding Silverlight... xxxi Silverlight System Requirements... xxxiii Silverlight vs. Flash... xxxiii Silverlight vs. HTML5... xxxiv Silverlight vs. Metro (and Windows 8)... xxxv Silverlight and WPF... xxxv The Evolution of Silverlight... xxxvi About This Book... xxxviii What You Need to Use This Book... xxxviii The Silverlight Toolkit... xxxviii Code Samples... xxxix Feedback... xxxix The Last Word... xxxix Chapter 1: Introducing Silverlight... 1 Silverlight Design Tools... 1 Visual Studio vs. Expression Blend... 2 Understanding Silverlight Websites... 2 vi

7 Creating a Stand-Alone Silverlight Project... 4 Creating a Simple Silverlight Page... 7 Adding Event-Handling Code... 9 Testing a Silverlight Application Creating an ASP.NET-Hosted Silverlight Project ASP.NET Controls That Render Silverlight Content Mixing ASP.NET Controls and Silverlight Content Silverlight Compilation and Deployment Compiling a Silverlight Application Deploying a Silverlight Application Silverlight Core Assemblies Silverlight Add-on Assemblies Assembly Caching The HTML Test Page Sizing the Silverlight Content Region Silverlight Parameters Alternate Content Creating a Friendly Install Experience The Mark of the Web The Last Word Chapter 2: XAML XAML Basics XAML Namespaces The Code-Behind Class Properties and Events in XAML Simple Properties and Type Converters Complex Properties vii

8 Attached Properties Nesting Elements Events The Full Eight Ball Example XAML Resources The Resources Collection The Hierarchy of Resources Accessing Resources in Code Organizing Resources with Resource Dictionaries Element-to-Element Binding One-Way Binding Two-Way Binding The Last Word Chapter 3: Layout The Layout Containers The Panel Background Borders Simple Layout with the StackPanel Layout Properties Alignment Margins Minimum, Maximum, and Explicit Sizes The WrapPanel and DockPanel The WrapPanel The DockPanel The Grid Fine-Tuning Rows and Columns viii

9 Nesting Layout Containers Spanning Rows and Columns The GridSplitter Coordinate-Based Layout with the Canvas Layering with ZIndex Clipping Custom Layout Containers The Two-Step Layout Process The UniformGrid Sizing Pages Scrolling with the ScrollViewer Scaling with the Viewbox Full-Screen Mode The Last Word Chapter 4: Dependency Properties and Routed Events Dependency Properties Defining and Registering a Dependency Property Dynamic Value Resolution Attached Properties The WrapBreakPanel Example Routed Events The Core Element Events Event Bubbling Handled (Suppressed) Events An Event Bubbling Example Mouse Handling Right-Clicks ix

10 Double and Triple Clicks Mouse Movements The Mouse Wheel Capturing the Mouse A Mouse Event Example Mouse Cursors Keyboard Handling Key Presses Key Modifiers Focus The Command Model Building a Command Connecting a Command The Last Word Chapter 5: Elements The Silverlight Elements Static Text Font Properties Underlining Runs Wrapping Text Trimming Text Character Spacing Images Image Sizing Image Errors Content Controls x

11 The Content Property Aligning Content Buttons The HyperlinkButton The ToggleButton and RepeatButton The CheckBox The RadioButton Tooltips and Pop-Ups Customized Tooltips The Popup Items Controls The ListBox The ComboBox The TabControl Text Controls The TextBox The PasswordBox The AutoCompleteBox The RichTextBox Creating a Text Editor Using Interactive Elements in a RichTextBox The RichTextBlock Range-Based Controls The Slider The ProgressBar Date Controls The Last Word xi

12 Chapter 6: The Application Model The Application Class Accessing the Current Application Application Properties Application Events Application Startup Initialization Parameters Application Shutdown Unhandled Exceptions Custom Splash Screens Binary Resources Placing Resources in the Application Assembly Placing Resources in the Application Package Placing Resources on the Web Class Library Assemblies Using Resources in an Assembly Downloading Assemblies on Demand Supporting Assembly Caching The Last Word Chapter 7: Navigation Loading User Controls Embedding User Controls in a Page Hiding Elements Managing the Root Visual Retaining Page State Browser History Child Windows xii

13 Designing a ChildWindow Showing a ChildWindow The Frame and Page Frames URI Mapping Forward and Backward Navigation Hyperlinks Pages Navigation Templates Custom Content Loaders Authentication and Navigation Creating a Custom Content Loader Using the Custom Content Loader The Last Word Chapter 8: Shapes and Transforms Basic Shapes The Shape Classes Rectangle and Ellipse Sizing and Placing Shapes Sizing Shapes Proportionately with a Viewbox Line Polyline Polygon Line Caps and Line Joins Dashes Paths and Geometries Line, Rectangle, and Ellipse Geometries xiii

14 Combining Shapes with GeometryGroup Curves and Lines with PathGeometry The Geometry Mini-Language Clipping with Geometry Transforms Transforming Shapes Transforms and Layout Containers A Reflection Effect Perspective Transforms The PlaneProjection Class Applying a Projection Exporting Clip Art Expression Design Conversion Save or Print to XPS The Last Word Chapter 9: Brushes, Bitmaps, and Printing Brushes The LinearGradientBrush Class The RadialGradientBrush Class The ImageBrush Transparency Opacity Masks Making the Silverlight Control Transparent Pixel Shaders BlurEffect DropShadowEffect xiv

15 ShaderEffect The WriteableBitmap Class Generating a Bitmap Capturing Content from Other Elements Printing Printing a Single Element Printing Over Multiple Pages Bitmap and Vector Printing Creating a Print Preview The Last Word Chapter 10: Animation Basics Understanding Silverlight Animation The Rules of Animation Creating Simple Animations The Animation Class The Storyboard Class Starting an Animation with an Event Trigger Starting an Animation with Code Configuring Animation Properties Animation Lifetime Simultaneous Animations Controlling Playback Animation Easing Using an Easing Function Easing In and Easing Out Easing Function Classes Animation Performance xv

16 Desired Frame Rate Hardware Acceleration Independent Animations The Last Word Chapter 11: Advanced Animation Animation Types Revisited Animating Transforms Animation Perspective Projections Animating Brushes Animating Pixel Shaders Key-Frame Animation Animations in Code The Main Page The Bomb User Control Dropping the Bombs Intercepting a Bomb Counting Bombs and Cleaning Up Encapsulating Animations Page Transitions The Base Class The Wipe Transition Frame-Based Animation The Last Word Chapter 12: Sound, Video, and Deep Zoom Supported File Types The MediaElement Controlling Playback xvi

17 Handling Errors Playing Multiple Sounds Changing Volume, Balance, and Position Playing Video Trick Play Media Commands Client-Side Playlists Server-Side Playlists Progressive Downloading and Streaming Adaptive Streaming Advanced Video Playback Video Encoding Encoding in Expression Encoder Markers VideoBrush Video Effects Low-Latency Sound Play a Sound with SoundEffect Changing Playback Settings Overlapping Sounds with SoundEffectInstance Looping Audio Webcam and Microphone Input Accessing a Capture Device Basic Webcam Support Recording Audio Snippets Deep Zoom Creating a Deep Zoom Image Set xvii

18 Using a Deep Zoom Image Set in Silverlight The Last Word Chapter 13: Silverlight 3D Understanding 3D in Silverlight Adding Assembly References Enabling 3D in a Silverlight Project Basic 3D Drawing The 3D Coordinate System Filling the Vertex Buffer Positioning the Camera Configuring the BasicEffect Drawing the Scene Backface Culling Scaling Your Drawing Complex Objects and Textures Drawing a Cube Adding Textures Lighting an Object Creating Multiple Objects Using Models Movement and Animation Moving a Shape Rotating a Shape Shape Animations Rotating and Moving the Camera The Last Word xviii

19 Chapter 14: Styles and Behaviors Styles Defining a Style Applying a Style Dynamic Styles Style Inheritance Organizing Styles Automatically Applying Styles by Type Style Binding Expressions Behaviors Getting Support for Behaviors Triggers and Actions Creating a Behavior Finding More Behaviors The FluidMoveBehavior The Last Word Chapter 15: Control Templates Template Basics Creating a Template Reusing Control Templates The ContentPresenter Template Bindings Setting Templates Through Styles Reusing Colors The Parts and States Model Understanding States with the Button Control Showing a Focus Cue xix

20 Transitions Understanding Parts with the Slider Control Layout Transitions Creating Templates for Custom Controls Planning the FlipPanel Control Creating the Solution Starting the FlipPanel Class Adding the Default Style with Generic.xaml Choosing Parts and States Starting the Default Control Template The FlipButton Control Defining the State Animations Wiring Up the Elements in the Template Using the FlipPanel Using a Different Control Template The Last Word Chapter 16: Multithreading Understanding Multithreading The Goals of Multithreading The DispatcherTimer The Thread Class Marshaling Code to the User Interface Thread Creating a Thread Wrapper Creating the Worker Class Using the Thread Wrapper Cancellation Support The BackgroundWorker xx

21 Creating the BackgroundWorker Running the BackgroundWorker Tracking Progress Supporting Cancellation The Last Word Chapter 17: Browser Integration Interacting with HTML Elements Getting Browser Information The HTML Window Popup Windows Inspecting the HTML Document Manipulating an HTML Element Handling JavaScript Events Code Interaction Calling Browser Script from Silverlight Calling Silverlight Methods from the Browser Instantiating Silverlight Objects in the Browser Combining Silverlight and HTML Content Sizing the Silverlight Control to Fit Its Content Placing the Silverlight Control Next to an HTML Element Securing HTML Interoperability The Last Word Chapter 18: Out-of-Browser Applications Understanding Out-of-Browser Support Creating an Out-of-Browser Application Installing an Out-of-Browser Application Customizing Icons xxi

22 Tracking Application State Removing and Updating an Application Silent Installation Out-of-Browser Application Features The WebBrowser Control Notification Windows Controlling the Main Window Elevated Trust Installing an Elevated-Trust Application The Abilities of an Elevated-Trust Application Window Customization Child Windows COM P/Invoke Elevated-Trust Applications in the Browser The Last Word Chapter 19: ASP.NET Web Services Building Web Services for Silverlight Creating a Web Service Adding a Service Reference Calling the Web Service Configuring the Web Service URL Using a Busy Indicator Web Service Data Types Custom Data Classes Web Service Type Sharing More Advanced Web Services xxii

23 Cross-Domain Web Service Calls Monitoring the Network Connection Using ASP.NET Platform Services WCF RIA Services Duplex Services Configuring the Service The Interfaces The Service The Client The Last Word Chapter 20: Data Binding Binding to Data Objects Building a Data Object Displaying a Data Object with DataContext Storing a Data Object as a Resource Null Values and Failed Bindings Editing with Two-Way Bindings Change Notification Debugging a Data Binding Expression Building a Data Service Calling a Data Service Binding to a Collection of Objects Displaying and Editing Collection Items Inserting and Removing Collection Items Binding to a LINQ Expression Master-Details Display Validation xxiii

24 Error Notifications The BindingValidationFailed Event The Validation Class Creating Data Objects with Built-in Validation Data Formatting and Conversion String Formatting Value Converters Formatting Strings with a Value Converter Creating Objects with a Value Converter Applying Conditional Formatting Data Templates Separating and Reusing Templates Implicit Data Templates More Advanced Templates Changing Item Layout The Last Word Chapter 21: Data Controls Better Data Forms The Goal: Data Class Markup The Label The DescriptionViewer The ValidationSummary Data Annotations Raising Annotation Errors The Annotation Attributes The DataGrid Creating a Simple Grid xxiv

25 How Columns Are Resized and Rearranged Defining Columns Formatting and Styling Columns Controlling Column Width Formatting Rows Row Details Freezing Columns Selection Sorting DataGrid Editing Editing with Templates Validation and Editing Events The PagedCollectionView Sorting Filtering Grouping Paging The TreeView Filling a TreeView A Data-Bound TreeView The PivotViewer Defining the PivotViewer Navigating the PivotViewer The Last Word Chapter 22: File Access Isolated Storage The Scope of Isolated Storage xxv

26 What to Put in Isolated Storage Using Isolated Storage Opening an Isolated Store File Management Writing and Reading Data Requesting More Space Storing Objects with XmlSerializer Storing Application Settings Accessing Files Outside of Isolated Storage Reading Files with OpenFileDialog Writing Files with SaveFileDialog Transmitting Files with a Web Service Dragging and Dropping Files File Access in Elevated Trust Applications Accessing User Files Managing Directories and Files Creating a Directory Tree The Last Word Chapter 23: Networking Interacting with the Web Cross-Domain Access HTML Scraping REST and Other Simple Web Services Using Network Credentials Processing Different Types of Data XML Services That Return XML Data xxvi

27 Services That Require XML Data Services That Return SOAP Data Services That Return JSON Data RSS Sockets Understanding Sockets and TCP Understanding Policy Files The Policy Server The Messaging Server The Messenger Client Local Connections Sending a Message Receiving a Message The Last Word Index xxvii

28 About the Author Matthew MacDonald is an author, educator, and former Microsoft MVP for Silverlight. He s the author of more than a dozen books about.net programming, including Pro WPF in C# 2010, Pro ASP.NET 4 in C# 2010, and Beginning ASP.NET in C# He s also the author of Your Brain: The Missing Manual (O Reilly), a popular look at getting the most from your squishy gray matter. Matthew lives in Toronto with his wife and two daughters. xxviii

29 About the Technical Reviewer A prolific writer on cutting-edge technologies, Fabio Claudio Ferracchiati has contributed to more than a dozen books on.net, C#, Visual Basic, and ASP.NET. He is a.net Microsoft Certified Solution Developer and lives in Rome, Italy. xxix

30 Acknowledgments No author can complete a book without a small army of helpful individuals. I m deeply indebted to the whole Apress team, including Adam Heath and Ewan Buckingham, who shepherded the book through its various stages; Fabio Ferracchiati and Damien Foggon, who hunted down stray errors in this and previous editions of the book; and Kim Wimpsett, who copy edited the text. Finally, I d never write any book without the support of my wife and these special individuals: Nora, Razia, Paul, and Hamid. Thanks everyone! xxx

31 Introduction Silverlight is a framework for building rich, browser-hosted applications that run on a variety of operating systems. Silverlight works its magic through a browser plug-in. When you surf to a web page that includes Silverlight content, this browser plug-in runs, executes the code, and renders that content in a specifically designated region of the page. The important part is that the Silverlight plug-in provides a richer environment than the traditional blend of HTML and JavaScript that powers ordinary web pages. Used carefully and artfully, you can create Silverlight pages that play video, have hardwareaccelerated 3D graphics, and use vector animations. Understanding Silverlight Silverlight uses a familiar technique to go beyond the capabilities of standard web pages: a lightweight browser plug-in. The advantage of the plug-in model is that the user needs to install just a single component to see content created by a range of different people and companies. Installing the plug-in requires a small download and forces the user to confirm the operation in at least one security dialog box. It takes a short but definite amount of time, and it s an obvious inconvenience. However, once the plug-in is installed, the browser can process any content that uses the plug-in seamlessly, with no further prompting. Figure 1 shows two views of a page with Silverlight content. At the top is the page you ll see if you don t have the Silverlight plug-in installed. At this point, you can click the Get Microsoft Silverlight picture to be taken to Microsoft s website, where you ll be prompted to install the plug-in and then sent back to the original page. On the bottom is the page you ll see once the Silverlight plug-in is installed. xxxi

32 INTRODUCTION Figure 1. Installing the Silverlight plug-in xxxii

33 INTRODUCTION Note At the time of this writing, Silverlight 4 is installed on an estimated 75 percent of Internet-connected computers (including desktop and mobile devices). The share is higher if you consider only Windows operating systems or Internet Explorer browsers. Although this is impressive, it pales in comparison to Flash, which has version 10 or better installed on a staggering 96 percent of all web devices. (To get up-to-date statistics, refer to.) Silverlight System Requirements With any web-centric technology, it s keenly important to have compatibility with the widest possible range of computers and devices. And although Silverlight isn t completely cross-platform, its compatibility stacks up well on the majority of desktop computers. Currently, Silverlight supports the following: Windows computers: Silverlight works on PCs with Windows 7, Windows Vista, and Windows XP. The minimum browser versions that Silverlight supports are Internet Explorer 6, Firefox 1.5, and Google Chrome 4.0. Silverlight will also work in Windows 2000, but only with Internet Explorer 6. Other browsers, such as Opera and Safari (for Windows), aren t currently supported. Mac computers: Silverlight works on Mac computers with OS X or newer, provided they have Intel hardware (as opposed to the older PowerPC hardware). The minimum browser versions that Silverlight supports are Firefox 2 and Safari 3. Silverlight does not run on mobile Apple devices, which includes the iphone, ipod Touch, and ipad. Linux computers: Although Silverlight 5 doesn t work on Linux, the Mono team has created an open source Linux implementation called Moonlight. The last officially released version supports Silverlight 2 applications, although there is also a released preview version that supports Silverlight 4. Progress is slow, and it s uncertain when (and if) there will be a Moonlight that supports Silverlight 5. Windows Phone: Silverlight is also one of two development frameworks for Windows Phone 7 (the other being the game-focused Microsoft XNA). However, developing for Windows Phone raises some unique considerations, and there are some subtle feature differences. To learn more about WP7 development, you can refer to a dedicated book, like Pro Windows Phone 7 Development. Installing Silverlight requires a small-sized setup (around 6MB) that s easy to download. That allows it to provide an all-important frictionless setup experience, much like Flash. Silverlight vs. Flash The most successful browser plug-in is Adobe Flash, which is installed on more than 90 percent of the world s web browsers. Flash has a long history that spans more than ten years, beginning as a straightforward tool for adding animated graphics and gradually evolving into a platform for developing interactive content. xxxiii

34 INTRODUCTION It s perfectly reasonable for.net developers to create websites that use Flash content. However, doing so requires a separate design tool and a completely different programming language (ActionScript) and programming environment (Flex). Furthermore, there s no straightforward way to integrate Flash content with server-side.net code. For example, creating Flash applications that call.net components is awkward at best. Using server-side.net code to render Flash content (for example, a custom ASP.NET control that spits out a Flash content region) is far more difficult. That s where Silverlight fits into the picture. Silverlight aims to combine the raw power and crossplatform support of Flash with a first-class programming platform that incorporates the fundamental concepts of.net. As a result, developers can write client-side code for Silverlight in the same language they use for server-side code (such as C# and VB), and they use many of the same abstractions (including streams, controls, collections, generics, and LINQ). In short, for.net developers Silverlight is both a more convenient and a more powerful choice for rich Internet applications. Silverlight vs. HTML5 When Silverlight was first created, it was intended as an all-purpose way to build rich web pages and a competitor to Adobe Flash. However, in the several Silverlight versions since, the world has changed. Although Adobe Flash is still supported by virtually every desktop computer, it s been locked out of popular Apple products like the iphone and ipad. As a result, the mobile world is gravitating to different solutions, including native applications (which are limited to just one operating system) or HTML5. A broad consensus exists that HTML5 is the future of the Web, someday. However, the features that HTML5 promises (when it s fully adopted) still fall far short of the features that are available today in Flash and Silverlight. For some applications, these shortcomings don t matter. And, without doubt, the capabilities of HTML5 will strengthen in the future. But in the meantime, developers are forced to choose between features now, if they need them (in which case they re likely to pick Silverlight) and the broadest possible compatibility for all computers and mobile devices (in which case they ll probably prefer HTML5). This dilemma is also described as rich versus reach. Silverlight is the rich side of this equation it gives applications the most powerful and mature feature set. HTML5 is the reach, because it embraces every modern desktop browser. Because of this upheaval, many Silverlight developers are uncertain about exactly where their favorite technology fits into the world of web development. And while the future is far from certain, here are a few points to keep in mind: HTML5 isn t quite here yet: HTML5 support lags in in Internet Explorer. Many HTML5 features are promised for the not-yet-released IE 10, some features are available in the relatively recent IE 9, but IE 8 has no HTML5 smarts. This is a problem, because IE 8 is the best version of IE that can run on the still-widespread Windows XP platform. For all these reasons, HTML5 remains currently has less support than Silverlight, and this situation may take years to change. Silverlight has features that have no HTML5 equivalent: Even in the browsers that offer the best possible HTML5 support fall behind Silverlight in a few key areas. They can t offer the same video streaming features, the same hardware-accelerated graphics, or the same deep networking support. Nor do they support file access, out-of-browser applications, or the ability to call Windows system components. And it s hard to imagine HTML5 ever duplicating some of Silverlight s more specialized features, like the PivotViewer control that fuses together data filtering, fluid animations, and image scaling in one easy-to-use package (Chapter 21). Silverlight has a higher-level programming API: Features such as data binding, styles, and templates may not be essential for building an application, but they are important for building one quickly and efficiently. Many things that are possible in HTML5 are a manageability nightmare in all but the xxxiv

35 INTRODUCTION most disciplined hands. The JavaScript language is notoriously lax in letting syntax errors slide, all animation routines must be written by hand, and multithreading support is clumsy at best. Silverlight has top-tier development tools: Thanks to Visual Studio, you can build a Silverlight application just as easily as you build a desktop program. Add Expression Blend to the picture, and you also have a way to define and customize rich graphical effects, like animations. Silverlight offers ASP.NET integration: In particular, Silverlight makes it easy to query server-side databases through a web service. This state of affairs has led some developers to speculate that even when HTML5 does finally conquer the world, Silverlight will remain as a first choice for line-ofbusiness development inside closed company networks. No one s quite sure of Silverlight s future. It may continue on as a first-choice platform for.net developers creating business applications, or it may gradually transition into a more specialized tool for cutting-edge games and video players. One thing is settled, however: Silverlight will never replace HTML as the main language for creating traditional, public websites nor does it intend to. Silverlight vs. Metro (and Windows 8) When Microsoft announced Windows 8, complete with yet another programming model for rich client applications, Silverlight developers paused. Some wondered if that technology named Metro was an eventual Silverlight replacement. The answer is clearly no. Metro is designed to facilitate an entirely different sort of application: a lightweight, touch-centric, data-consuming application that can run on the future generation of Windows 8 powered tablets. In a very real sense, Metro is a competitor to native apps on the ipad, as well as a potential successor to Microsoft s other rich desktop programming framework, WPF (see the next section). However, Metro applications have no ability to run on non-microsoft platforms or any version of Windows other than Windows 8. For that reason, they are of little interest to Silverlight developers. In the future, the range of Silverlight applications may narrow, squeezed between cross-platform HTML5 applications that are gradually growing more sophisticated and native Metro or ipad applications for mobile devices. However, today Silverlight still occupies the very important space between these other technologies. Silverlight and WPF One of the most interesting aspects of Silverlight is the fact that it borrows the model WPF uses for rich, client-side user interfaces. WPF is a toolkit for building rich Windows applications. WPF is notable because it not only simplifies development with a powerful set of high-level features, it also increases performance by rendering everything through the DirectX pipeline. To learn about WPF, you can refer to Pro WPF in VB 2010 (Apress). Silverlight obviously can t duplicate the features of WPF, because many of them rely deeply on the capabilities of the operating system, including Windows-specific display drivers and DirectX technology. However, rather than invent an entirely new set of controls and classes for client-side development, Silverlight uses a subset of the WPF model. If you ve had any experience with WPF, you ll be surprised to see how closely Silverlight resembles its big brother. Here are a few common details: xxxv

36 INTRODUCTION To define a Silverlight user interface (the collection of elements that makes up a Silverlight content region), you use XAML markup, just as you do with WPF. You can even map data to your display using the same data-binding syntax. Silverlight borrows many of the same basic controls from WPF, along with the same styling system (for standardizing and reusing formatting) and a similar templating mechanism (for changing the appearance of standard controls). To draw 2D graphics in Silverlight, you use shapes, paths, transforms, geometries, and brushes, all of which closely match their WPF equivalents. Silverlight provides a declarative animation model that s based on storyboards and works in the same way as WPF s animation system. To show video or play audio files, you use the MediaElement class, as you do in WPF. Note WPF is not completely cut off from the easy deployment world of the Web. WPF allows developers to create browser-hosted applications called XBAPs (XAML Browser Applications). These applications are downloaded seamlessly, cached locally, and run directly inside the browser window, all without security prompts. However, although XBAPs run in Internet Explorer and Firefox, they are still a Windows-only technology, unlike Silverlight. The Evolution of Silverlight Silverlight 1 was a relatively modest technology. It included 2D drawing features and media playback support. However, it didn t include the CLR engine or support for.net languages, so developers were forced to code in JavaScript. Silverlight 2 was a dramatic change. It added the CLR, a subset of.net Framework classes, and a user interface model based on WPF. As a result, Silverlight 2 was one of the most hotly anticipated releases in Microsoft s history. The versions of Silverlight since haven t been as ambitious. Silverlight 5 keeps the same development model that was established in Silverlight 2 but adds a carefully selected group of features and performance enhancements. They highlights include the following: Performance improvements: Silverlight 5 starts faster, supports 64-bit browsers, and provides cleaner, crisper text rendering at small sizes. Vector printing: Silverlight improves its printing model to use vector printing, when possible (namely, if the print driver supports PostScript). The result is faster printing with less memory overhead (Chapter 9). Hardware-accelerated 3D graphics: Silverlight ports over a portion of the Microsoft XNA framework used for building Xbox games. With it comes a powerful but very low-level interface for rendering 3D scenes. Best of all, the video card does all the work, ensuring blistering performance (Chapter 13). Low-latency sound: Another benefit from Microsoft XNA is Silverlight s new support for low-latency sound playback. This is particularly useful for games that can t afford the slightest bit of lag (Chapter 12). xxxvi

37 INTRODUCTION Trick play: A new frill lets you play videos faster or slower, without changing the pitch of the audio. This allows users to get their content (for example, watch a video of a lecture) at their preferred speed (Chapter 12). Double-click and triple-click: A minor enhancement solves a long-standing Silverlight annoyance. You can now easily distinguish between a single click and the two clicks in quick succession that represent a double-click. Silverlight even lets you look for triple-clicks (Chapter 4). Remote media control support: It s now possible to react to playback commands sent from a remote control or enhanced keyboard with media control buttons, provided your application is running in full-screen mode (Chapter 12). Pivot viewer: This all-in-one control gives you a unique new way to present huge collections of data. It combines scalable pictures, data filtering, and fluid animations to create a seamless viewing experience. And best of all, you need to add hardly a line of your own code (Chapter 21). XAML debugging: You can now troubleshoot data binding errors by placing a breakpoint in your data binding expression (Chapter 20). Child windows: Out-of-browser applications can now show secondary windows, just like real Windows applications. They don t even need elevated trust (Chapter 18). Full file access and P/Invoke: Applications that run with elevated trust can now easily access any file on the hard drive that the user can access (except for those that require administrator privileges). They can also use P/Invoke on Windows computer to call legacy C functions or the Windows API (Chapter 18). Elevated-trust in-browser applications: This new sort of application combines the benefits of elevated trust with the streamlined no-install deployment of an ordinary Silverlight application. But there s a significant catch this option is feasible only in a controlled environment (say, inside a company network), where you can configure the certificates on all your clients (Chapter 18). Note This book contains everything you need to master Silverlight 5. You don t need any experience with previous versions of Silverlight. However, if you have developed with Silverlight 4, you ll appreciate the What s New tip boxes that follow the introduction in each chapter. They point out features that are new to Silverlight 5, so you can home in on its changes and enhancements. BACKWARD COMPATIBILITY IN SILVERLIGHT 5 At this point, you might be wondering if older Silverlight applications can run on a computer that has only the latest version of the Silverlight plug-in (version 5) installed. It s a reasonable question, because Silverlight 5 introduces some subtle changes and bug fixes that can influence the way applications work and even change its behavior. xxxvii

38 INTRODUCTION However, Silverlight 5 prevents these differences from causing problems by using its quirks mode feature. When the Silverlight 5 plug-in loads an application that was compiled for an earlier version of Silverlight, it automatically switches into a quirks mode that attempts to emulate the behavior of the appropriate Silverlight runtime environment. For more detailed information about breaking changes between Silverlight 4 and Silverlight 3, you can refer to. About This Book This book is an in-depth exploration of Silverlight for professional developers. You don t need any experience with WPF or previous versions of Silverlight, but you do need to know the.net platform, the VB language, and the Visual Studio development environment. What You Need to Use This Book To run Silverlight applications, you simply need the Silverlight browser plug-in, which is available at. To create Silverlight applications (and open the sample projects included with this book), you need Visual Studio 2010 and the Silverlight 5 Tools for Visual Studio Although they re in beta at the time of this writing, you can download the latest versions by searching for Silverlight 5 tools at the Microsoft Download Center,. Alternatively, you can use Expression Blend a graphically oriented design tool to create, build, and test Silverlight applications. Overall, Expression Blend is intended for graphic designers who spend their time creating serious eye candy, while Visual Studio is ideal for code-heavy application programmers. This book assumes you re using Visual Studio. If you d like to learn more about Expression Blend, you can consult one of many dedicated books on the subject. The Silverlight Toolkit To keep in touch with Silverlight s latest developments, you should also download Microsoft s impressive Silverlight Toolkit, which provides a set of controls and components that extend the features of Silverlight. You can use them in your Silverlight applications simply by adding an assembly reference. The Silverlight Toolkit isn t just a package of useful tools. It s also a development process that gradually brings new controls into the Silverlight platform. Many new controls appear first in the Silverlight Toolkit, are gradually refined, and then migrate to the core platform. Examples of controls that have made the jump from the Silverlight Toolkit to the core Silverlight plug-in include the AutoCompleteBox, TreeView, and Viewbox. To understand how this process works, you need to understand a bit more about the Silverlight Toolkit s quality bands groups of controls at a particular evolutionary stage. The Silverlight Toolkit divides its features into four quality bands: Mature: The mature band has controls that are unlikely to change. Usually, these are controls that are already included with the core Silverlight plug-in. However, the Silverlight Toolkit gives you access to their complete source code, which opens up customization possibilities. xxxviii

39 INTRODUCTION Stable: The stable band includes controls that are ready for inclusion in just about any application however, there may be further tweaks and fixes in the future that subtly change behavior. This book describes many of the stable controls, including the DockPanel, WrapPanel, and Expander. Preview: The preview band includes controls that are reliable enough for most applications but are likely to change in response to developer comments, so you expect to change your code before using newer versions. Experimental: The experimental band includes new controls that are intended to solicit developer feedback. Feel free to play with these, but include them in an application at your own risk. To learn more about the different quality bands, try the controls with live demos, or download the Silverlight Toolkit for yourself, go to. At the time of this writing, the current version of the Silverlight Toolkit is called the Silverlight 4 Toolkit, but it works equally well with Silverlight 5. Code Samples It s a good idea to check the Apress website at to download the up-to-date code samples. You ll need to do this to test most of the more sophisticated code examples described in this book because the less significant details are usually left out. This book focuses on the most important sections so that you don t need to wade through needless extra pages to understand a concept. Feedback This book has the ambitious goal of being the best tutorial and reference for programming Silverlight. Toward that end, your comments and suggestions are extremely helpful. You can send complaints, adulation, and everything in between directly to. I can t solve your Silverlight problems or critique your code, but I will benefit from information about what this book did right and wrong (or what it may have done in an utterly confusing way). The Last Word As you ve seen, Silverlight 5 is the latest iteration of Microsoft s.net-based, plug-in-powered web programming environment. Silverlight began its life as a Flash competitor. It continues today as a platform for building rich applications that need high-performing graphics, animations, and video. For some, it s a lightweight version of.net that you can deploy use without installation headaches. For others, it s a way to get hardware-accelerated 3D games running right inside a browser. For still others, it s a most mature, productive, cross-platform framework for business applications provided you don t need to support mobile devices. And no matter where the Web goes over the next few years, Silverlight will continue to power some of the most impressive rich Internet applications. xxxix

DOT.NET MODULE 6: SILVERLIGHT

DOT.NET MODULE 6: SILVERLIGHT UNIT 1 Introducing Silverlight DOT.NET MODULE 6: SILVERLIGHT 1. Silverlight and Visual Studio 2. Understanding Silverlight Websites 3. Creating a Stand-Alone Silverlight Project 4. Creating a Simple Silverlight

More information

Pro Silverlight 5 in C# Copyright 2012 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted in any form or

Pro Silverlight 5 in C# Copyright 2012 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted in any form or Pro Silverlight 5 in C# Copyright 2012 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying,

More information

Beginning Silverlight 3

Beginning Silverlight 3 Beginning Silverlight 3 From Novice to Professional Robert Lair Beginning Silverlight 3: From Novice to Professional Copyright 2009 by Robert Lair All rights reserved. No part of this work may be reproduced

More information

Silverlight and ASP.NET Revealed. Matthew MacDonald

Silverlight and ASP.NET Revealed. Matthew MacDonald Silverlight and ASP.NET Revealed Matthew MacDonald Silverlight and ASP.NET Revealed Copyright 2007 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted in any

More information

Pro Silverlight 3 in VB

Pro Silverlight 3 in VB Pro Silverlight 3 in VB Matthew MacDonald Pro Silverlight 3 in VB Copyright 2009 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,

More information

Pro Silverlight 4 in VB

Pro Silverlight 4 in VB Pro Silverlight 4 in VB Third Edition Matthew MacDonald Pro Silverlight 4 in VB, Third Edition Copyright 2010 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted

More information

Introduction. Part I: Silverlight Fundamentals for ASP.NET Developers 1

Introduction. Part I: Silverlight Fundamentals for ASP.NET Developers 1 Introduction xxi Part I: Silverlight Fundamentals for ASP.NET Developers 1 Chapter 1: Silverlight in a Nutshell 3 Uphill Struggle 3 Rich Client or Web Reach? 4 Silverlight Steps In 4 The Impact of Silverlight

More information

Beginning Silverlight 5 in C #

Beginning Silverlight 5 in C # Table of Contents: Chapter 1. Welcome to Silverlight 5 1.1 The Evolution of the User interface 1.2 Rich Internet Application Solutions 1.3 What is Silverlight? 1.4 Benefits of Silverlight 1.4.1 Cross-Platform/Cross-Browser

More information

Pro Silverlight 3 in C# Matthew MacDonald

Pro Silverlight 3 in C# Matthew MacDonald Pro Silverlight 3 in C# Matthew MacDonald i Pro Silverlight 3 in C# Copyright 2009 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted in any form or by any

More information

Pro Business Applications with Silverlight 4

Pro Business Applications with Silverlight 4 Pro Business Applications with Silverlight 4 Chris Anderson Apress* Contents at a Glance Contents About the Author Acknowledgments iv v xix xx a Chapter 1: Introduction 1 Who This Book Is For 1 About This

More information

Pro.NET 4 Parallel Programming in C#

Pro.NET 4 Parallel Programming in C# Pro.NET 4 Parallel Programming in C# Adam Freeman Pro.NET 4 Parallel Programming in C# Copyright 2010 by Adam Freeman All rights reserved. No part of this work may be reproduced or transmitted in any form

More information

Web Development, Silverlight, and

Web Development, Silverlight, and The EXPERT s VOIce in.net Beginning Web Development, Silverlight, and ASP.NET AJAX From Novice to Professional Learn how to build web applications using ASP.NET AJAX, WPF, WCF, and WF, as well as Silverlight.

More information

Silverlight Recipes. A Problem-Solution Approach. Apress* Jit Ghosh and Rob Cameron

Silverlight Recipes. A Problem-Solution Approach. Apress* Jit Ghosh and Rob Cameron . Silverlight Recipes A Problem-Solution Approach i Jit Ghosh and Rob Cameron Apress* Contents at a Glance Contents About the Author About the Technical Reviewer Acknowledgments Introduction iv v xxvi

More information

C++ Quick Syntax Reference

C++ Quick Syntax Reference C++ Quick Syntax Reference Mikael Olsson C++ Quick Syntax Reference Copyright 2013 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part

More information

Companion ebook Available Pro Android Includes Android 1.5 SOURCE CODE ONLINE US $44.99

Companion ebook Available Pro Android Includes Android 1.5 SOURCE CODE ONLINE US $44.99 The EXPERT s VOIce in Open Source Pro Android Covers Google s Android Platform and its fundamental APIs, from basic concepts such as Android resources, intents, and content providers to advanced topics

More information

MATLAB Programming for Numerical Analysis. César Pérez López

MATLAB Programming for Numerical Analysis. César Pérez López MATLAB Programming for Numerical Analysis César Pérez López MATLAB Programming for Numerical Analysis Copyright 2014 by César Pérez López This work is subject to copyright. All rights are reserved by the

More information

Objective-C Quick Syntax Reference

Objective-C Quick Syntax Reference Objective-C Quick Syntax Reference Matthew Campbell Objective-C Quick Syntax Reference Copyright 2014 by Matthew Campbell This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

PART I: INTRODUCTION TO WINDOWS 8 APPLICATION DEVELOPMENT CHAPTER 1: A BRIEF HISTORY OF WINDOWS APPLICATION DEVELOPMENT 3

PART I: INTRODUCTION TO WINDOWS 8 APPLICATION DEVELOPMENT CHAPTER 1: A BRIEF HISTORY OF WINDOWS APPLICATION DEVELOPMENT 3 INTRODUCTION xix PART I: INTRODUCTION TO WINDOWS 8 APPLICATION DEVELOPMENT CHAPTER 1: A BRIEF HISTORY OF WINDOWS APPLICATION DEVELOPMENT 3 The Life of Windows 3 From Windows 3.1 to 32-bit 4 Windows XP

More information

Windows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla

Windows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla Windows 10 Revealed The Universal Windows Operating System for PC, Tablets, and Windows Phone Kinnary Jangla Windows 10 Revealed Kinnary Jangla Bing Maps San Francisco, California, USA ISBN-13 (pbk): 978-1-4842-0687-4

More information

Essential Angular for ASP.NET Core MVC

Essential Angular for ASP.NET Core MVC Essential Angular for ASP.NET Core MVC Adam Freeman Essential Angular for ASP.NET Core MVC Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-2915-6 ISBN-13 (electronic): 978-1-4842-2916-3 DOI 10.1007/978-1-4842-2916-3

More information

Excel 2010 Made Simple

Excel 2010 Made Simple Excel 2010 Made Simple Abbott Katz i Excel 2010 Made Simple Copyright 2011 by Abbott Katz All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic

More information

Beginning ASP.NET. 4.5 in C# Matthew MacDonald

Beginning ASP.NET. 4.5 in C# Matthew MacDonald Beginning ASP.NET 4.5 in C# Matthew MacDonald Contents About the Author About the Technical Reviewers Acknowledgments Introduction xxvii xxix xxxi xxxiii UPart 1: Introducing.NET. 1 & Chapter 1: The Big

More information

Windows Presentation Foundation for.net Developers

Windows Presentation Foundation for.net Developers Telephone: 0208 942 5724 Email: info@aspecttraining.co.uk YOUR COURSE, YOUR WAY - MORE EFFECTIVE IT TRAINING Windows Presentation Foundation for.net Developers Duration: 5 days Overview: Aspect Training's

More information

CHAPTER 1: INTRODUCING C# 3

CHAPTER 1: INTRODUCING C# 3 INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications

More information

Pro WPF in VB Windows Presentation Foundation in.net 4. Matthew MacDonald

Pro WPF in VB Windows Presentation Foundation in.net 4. Matthew MacDonald Pro WPF in VB 2010 Windows Presentation Foundation in.net 4 Matthew MacDonald Pro WPF in VB 2010: Windows Presentation Foundation in.net 4 Copyright 2010 by Matthew MacDonald All rights reserved. No part

More information

Beginning ASP.NET MVC 4. José Rolando Guay Paz

Beginning ASP.NET MVC 4. José Rolando Guay Paz Beginning ASP.NET MVC 4 José Rolando Guay Paz Beginning ASP.NET MVC 4 Copyright 2013 by José Rolando Guay Paz This work is subject to copyright. All rights are reserved by the Publisher, whether the whole

More information

Beginning Web Development, Silverlight, and ASP.NET AJAX

Beginning Web Development, Silverlight, and ASP.NET AJAX Beginning Web Development, Silverlight, and ASP.NET AJAX From Novice to Professional Laurence Moroney Beginning Web Development, Silverlight, and ASP.NET AJAX: From Novice to Professional Copyright 2008

More information

Pro JavaScript Performance Monitoring and Visualization

Pro JavaScript Performance Monitoring and Visualization Pro JavaScript Performance Monitoring and Visualization Tom Barker Pro JavaScript Performance Copyright 2012 by Tom Barker This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

DOT NET SYLLABUS FOR 6 MONTHS

DOT NET SYLLABUS FOR 6 MONTHS DOT NET SYLLABUS FOR 6 MONTHS INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate

More information

Pro ASP.NET MVC 5. Adam Freeman

Pro ASP.NET MVC 5. Adam Freeman Pro ASP.NET MVC 5 Adam Freeman Pro ASP.NET MVC 5 Copyright 2013 by Adam Freeman This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is

More information

Pro WPF in C# 2010: Windows Presentation Foundation in.net 4.0

Pro WPF in C# 2010: Windows Presentation Foundation in.net 4.0 Pro WPF in C# 2010: Windows Presentation Foundation in.net 4.0 Matthew MacDonald Pro WPF in C# 2010: Windows Presentation Foundation in.net 4.0 Copyright 2010 by Matthew MacDonald All rights reserved.

More information

Microsoft Computer Vision APIs Distilled

Microsoft Computer Vision APIs Distilled Microsoft Computer Vision APIs Distilled Getting Started with Cognitive Services Alessandro Del Sole Microsoft Computer Vision APIs Distilled Alessandro Del Sole Cremona, Italy ISBN-13 (pbk): 978-1-4842-3341-2

More information

CROSS-REFERENCE TABLE ASME A Including A17.1a-1997 Through A17.1d 2000 vs. ASME A

CROSS-REFERENCE TABLE ASME A Including A17.1a-1997 Through A17.1d 2000 vs. ASME A CROSS-REFERENCE TABLE ASME Including A17.1a-1997 Through A17.1d 2000 vs. ASME 1 1.1 1.1 1.1.1 1.2 1.1.2 1.3 1.1.3 1.4 1.1.4 2 1.2 3 1.3 4 Part 9 100 2.1 100.1 2.1.1 100.1a 2.1.1.1 100.1b 2.1.1.2 100.1c

More information

Andale Store Getting Started Manual

Andale Store Getting Started Manual Andale Store Getting Started Manual CHAPTER 1 : INTRODUCTION AND WELCOME 3 1. LOG INTO YOUR ACCOUNT 3 CHAPTER 2 : DESIGN CENTER 3 1. CREATE YOUR DESIGN LAYOUT 4 1.1 Choose a Style 4 1.2 Choose a Font 5

More information

The goal of this book is to teach you how to use Adobe Integrated

The goal of this book is to teach you how to use Adobe Integrated Clearing the AIR The goal of this book is to teach you how to use Adobe Integrated Runtime (AIR) to create desktop applications. You can use JavaScript or ActionScript to develop AIR applications, and

More information

Swift Quick Syntax Reference

Swift Quick Syntax Reference Swift Quick Syntax Reference Matthew Campbell Swift Quick Syntax Reference Copyright 2014 by Matthew Campbell This work is subject to copyright. All rights are reserved by the Publisher, whether the whole

More information

JavaScript Quick Syntax Reference

JavaScript Quick Syntax Reference JavaScript Quick Syntax Reference Mikael Olsson JavaScript Quick Syntax Reference Copyright 2015 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Pro SQL Server 2008 Mirroring

Pro SQL Server 2008 Mirroring Pro SQL Server 2008 Mirroring Robert L. Davis, Ken Simmons Pro SQL Server 2008 Mirroring Copyright 2009 by Robert L. Davis, Ken Simmons All rights reserved. No part of this work may be reproduced or transmitted

More information

Web Programming with Dart. Moises Belchin Patricia Juberias

Web Programming with Dart. Moises Belchin Patricia Juberias Web Programming with Dart Moises Belchin Patricia Juberias Web Programming with Dart Copyright 2015 by Moises Belchin and Patricia Juberias This work is subject to copyright. All rights are reserved by

More information

Introduction. Thank you for picking up Silverlight 1.0 Unleashed! IN THIS CHAPTER. . Who Should Read This Book?. Software Requirements

Introduction. Thank you for picking up Silverlight 1.0 Unleashed! IN THIS CHAPTER. . Who Should Read This Book?. Software Requirements Nathan_Intro_Iss 9/21/07 2:01 AM Page 1 IN THIS CHAPTER. Who Should Read This Book?. Software Requirements Thank you for picking up Silverlight 1.0 Unleashed! Silverlight is changing the way many people

More information

10262A VB: Developing Windows Applications with Microsoft Visual Studio 2010

10262A VB: Developing Windows Applications with Microsoft Visual Studio 2010 10262A VB: Developing Windows Applications with Microsoft Visual Studio 2010 Course Number: 10262A Course Length: 5 Days Course Overview In this course, experienced developers who know the basics of Windows

More information

Practical Spring LDAP

Practical Spring LDAP Practical Spring LDAP Enterprise Java LDAP Development Made Easy Balaji Varanasi Practical Spring LDAP: Enterprise Java LDAP Development Made Easy Copyright 2013 Balaji Varanasi. All rights reserved. This

More information

Coding Faster: Getting More Productive with Microsoft Visual

Coding Faster: Getting More Productive with Microsoft Visual Microsoft Coding Faster: Getting More Productive with Microsoft Visual Studio Covers Microsoft Visual Studio 2005, 2008, and 2010 Zain Naboulsi Sara Ford Table of Contents Foreword Introduction xxiii xxvii

More information

Programming Windows, Sixth Edition

Programming Windows, Sixth Edition Programming Windows, Sixth Edition Charles Petzold Table of Introduction xvii i-'-f..?.'!. ELE MENTALS Chapter 1 Markup and Code 3 The First Project 3 Graphical Greetings 9 Variations in Text 13 Media

More information

C Quick Syntax Reference

C Quick Syntax Reference C Quick Syntax Reference Mikael Olsson C Quick Syntax Reference Copyright 2015 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of

More information

Digital Illustration Fundamentals

Digital Illustration Fundamentals Wallace Jackson Digital Illustration Fundamentals Vector, Raster, WaveForm, NewMedia with DICF, DAEF and ASNMF 1st ed. 2015 Wallace Jackson Lompoc, California, USA ISBN 978-1-4842-1696-5 e-isbn 978-1-4842-1697-2

More information

Functional Programming in R

Functional Programming in R Functional Programming in R Advanced Statistical Programming for Data Science, Analysis and Finance Thomas Mailund Functional Programming in R: Advanced Statistical Programming for Data Science, Analysis

More information

Apex TG India Pvt. Ltd.

Apex TG India Pvt. Ltd. (Core C# Programming Constructs) Introduction of.net Framework 4.5 FEATURES OF DOTNET 4.5 CLR,CLS,CTS, MSIL COMPILER WITH TYPES ASSEMBLY WITH TYPES Basic Concepts DECISION CONSTRUCTS LOOPING SWITCH OPERATOR

More information

Python 3 for Absolute Beginners

Python 3 for Absolute Beginners Python 3 for Absolute Beginners Tim Hall and J-P Stacey Python 3 for Absolute Beginners Copyright 2009 by Tim Hall and J-P Stacey All rights reserved. No part of this work may be reproduced or transmitted

More information

Microsoft Visual Studio 2010

Microsoft Visual Studio 2010 Microsoft Visual Studio 2010 A Beginner's Guide Joe Mayo Mc Grauu Hill New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto Contents ACKNOWLEDGMENTS

More information

Windows Presentation Foundation

Windows Presentation Foundation Windows Presentation Foundation CS 525 John Stites Table of Contents Introduction... 3 Separation of Presentation and Behavior... 3 XAML Object Elements... 3 2-D Graphics... 6 3-D Graphics... 9 Microsoft

More information

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language

More information

Windows 8 MVVM Patterns Revealed

Windows 8 MVVM Patterns Revealed Windows 8 MVVM Patterns Revealed Covers both C# and JavaScript Ashish Ghoda Windows 8 MVVM Patterns Revealed Copyright 2012 by Ashish Ghoda This work is subject to copyright. All rights are reserved by

More information

"Charting the Course... SharePoint 2007 Hands-On Labs Course Summary

Charting the Course... SharePoint 2007 Hands-On Labs Course Summary Course Summary Description This series of 33 hands-on labs allows students to explore the new features of Microsoft SharePoint Server, Microsoft Windows, Microsoft Office, including Microsoft Office Groove,

More information

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD Visual HTML5 1 Overview HTML5 Building apps with HTML5 Visual HTML5 Canvas SVG Scalable Vector Graphics WebGL 2D + 3D libraries 2 HTML5 HTML5 to Mobile + Cloud = Java to desktop computing: cross-platform

More information

MATLAB Numerical Calculations. César Pérez López

MATLAB Numerical Calculations. César Pérez López MATLAB Numerical Calculations César Pérez López MATLAB Numerical Calculations Copyright 2014 by César Pérez López This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Table of Contents. Preface...iii. INTRODUCTION 1. Introduction to M ultimedia and Web Design 1. ILLUSTRATOR CS6 1. Introducing Illustrator CS6 17

Table of Contents. Preface...iii. INTRODUCTION 1. Introduction to M ultimedia and Web Design 1. ILLUSTRATOR CS6 1. Introducing Illustrator CS6 17 Table of Contents Preface...........iii INTRODUCTION 1. Introduction to M ultimedia and Web Design 1 Introduction 2 Exploring the Applications of Multimedia 2 Understanding Web Design 3 Exploring the Scope

More information

Measurement in Science

Measurement in Science Measurement in Science Name Why? Many observations of events in the natural world are best described with numbers.measurements allow us to determine and describe properties, patterns and relationships

More information

The Windows 10 Productivity Handbook

The Windows 10 Productivity Handbook The Windows 10 Productivity Handbook Discover Expert Tips, Tricks, and Hidden Features in Windows 10 Mike Halsey The Windows 10 Productivity Handbook Mike Halsey Sheffield, Yorkshire, UK ISBN-13 (pbk):

More information

DEVELOPING WINDOWS APPLICATIONS WITH MICROSOFT VISUAL STUDIO 2010

DEVELOPING WINDOWS APPLICATIONS WITH MICROSOFT VISUAL STUDIO 2010 CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: DEVELOPING WINDOWS APPLICATIONS WITH MICROSOFT VISUAL STUDIO 2010 Course: 10262A; Duration: 5 Days; Instructor-led Time: 9.00am 5.00pm Break: 10.15am 10.30am

More information

Visual Studio Condensed. Patrick Desjardins

Visual Studio Condensed. Patrick Desjardins Visual Studio Condensed Patrick Desjardins Visual Studio Condensed Copyright 2014 by Patrick Desjardins This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or

More information

Developing Windows Applications with Microsoft Visual Studio 2010

Developing Windows Applications with Microsoft Visual Studio 2010 Developing Windows Applications with Microsoft Visual Studio 2010 Course 10262A: Five days; Instructor-Led Course Description: In this course, experienced developers who know the basics of Windows Forms

More information

Keynote 08 Basics Website:

Keynote 08 Basics Website: Website: http://etc.usf.edu/te/ Keynote is Apple's presentation application. Keynote is installed as part of the iwork suite, which also includes the word processing program Pages and the spreadsheet program

More information

Windows Presentation Foundation Programming Using C#

Windows Presentation Foundation Programming Using C# Windows Presentation Foundation Programming Using C# Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.

More information

Getting started 7. Setting properties 23

Getting started 7. Setting properties 23 Contents 1 2 3 Getting started 7 Introduction 8 Installing Visual Basic 10 Exploring the IDE 12 Starting a new project 14 Adding a visual control 16 Adding functional code 18 Saving projects 20 Reopening

More information

Expert C# 5.0 with.net 4.5 Framework

Expert C# 5.0 with.net 4.5 Framework Expert C# 5.0 with.net 4.5 Framework Mohammad Rahman Apress Expert C# 5.0: with.net 4.5 Framework Copyright 2013 by Mohammad Rahman This work is subject to copyright. All rights are reserved by the Publisher,

More information

DE Developing Windows Applications with Microsoft Visual Studio 2010

DE Developing Windows Applications with Microsoft Visual Studio 2010 DE-10262 Developing Windows Applications with Microsoft Visual Studio 2010 Summary Duration 5 Days Audience Developers Level 200 Technology Visual Studio Delivery Method Instructor-led (Classroom) Training

More information

CHAPTER 1: INTRODUCTION TO THE IDE 3

CHAPTER 1: INTRODUCTION TO THE IDE 3 INTRODUCTION xxvii PART I: IDE CHAPTER 1: INTRODUCTION TO THE IDE 3 Introducing the IDE 3 Different IDE Appearances 4 IDE Configurations 5 Projects and Solutions 6 Starting the IDE 6 Creating a Project

More information

Road Map for Essential Studio 2011 Volume 4

Road Map for Essential Studio 2011 Volume 4 Road Map for Essential Studio 2011 Volume 4 Essential Studio User Interface Edition... 4 ASP.NET...4 Essential Tools for ASP.NET... 4 Essential Chart for ASP.NET... 4 Essential Diagram for ASP.NET... 4

More information

PUBLISHING FLASH. Lesson Overview

PUBLISHING FLASH. Lesson Overview PUBLISHING FLASH Lesson Overview In this lesson, you ll learn how to do the following: Test a Flash document Understand the Bandwidth Profiler Change publish settings for a document Understand the difference

More information

Pro Angular 6. Third Edition. Adam Freeman

Pro Angular 6. Third Edition. Adam Freeman Pro Angular 6 Third Edition Adam Freeman Pro Angular 6 Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-3648-2 ISBN-13 (electronic): 978-1-4842-3649-9 https://doi.org/10.1007/978-1-4842-3649-9 Library

More information

Introducing. Silverlight 4. Gear up fast to develop line of business rich internet applications using Silverlight 4. Ashish Ghoda

Introducing. Silverlight 4. Gear up fast to develop line of business rich internet applications using Silverlight 4. Ashish Ghoda The EXPERT s VOIce in Silverlight Introducing Silverlight 4 Gear up fast to develop line of business rich internet applications using Silverlight 4 Ashish Ghoda Introducing Silverlight 4 Ashish Ghoda

More information

Learn PHP 7. Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL. Steve Prettyman

Learn PHP 7. Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL. Steve Prettyman THE EXPERT S VOICE IN WEB DEVELOPMENT Learn PHP 7 Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL Steve Prettyman Learn PHP 7 Object-Oriented Modular Programming

More information

Getting started 7. Setting properties 23

Getting started 7. Setting properties 23 Contents 1 2 3 Getting started 7 Introducing Visual Basic 8 Installing Visual Studio 10 Exploring the IDE 12 Starting a new project 14 Adding a visual control 16 Adding functional code 18 Saving projects

More information

DRAFT. Table of Contents About this manual... ix About CuteSITE Builder... ix. Getting Started... 1

DRAFT. Table of Contents About this manual... ix About CuteSITE Builder... ix. Getting Started... 1 DRAFT Table of Contents About this manual... ix About CuteSITE Builder... ix Getting Started... 1 Setting up... 1 System Requirements... 1 To install CuteSITE Builder... 1 To register CuteSITE Builder...

More information

Agile Swift. Swift Programming Using Agile Tools and Techniques. Godfrey Nolan

Agile Swift. Swift Programming Using Agile Tools and Techniques. Godfrey Nolan Agile Swift Swift Programming Using Agile Tools and Techniques Godfrey Nolan Agile Swift: Swift Programming Using Agile Tools and Techniques Godfrey Nolan Huntington Woods, Michigan, USA ISBN-13 (pbk):

More information

Developing Windows Applications with Microsoft Visual Studio 2010

Developing Windows Applications with Microsoft Visual Studio 2010 Course 10262A: Developing Windows Applications with Microsoft Visual Studio 2010 Course Details Course Outline Module 1: Windows Client Application Design The goal of this module is to ensure that students

More information

Web Standards Creativity: Innovations in Web Design with XHTML, CSS, and DOM Scripting

Web Standards Creativity: Innovations in Web Design with XHTML, CSS, and DOM Scripting Web Standards Creativity: Innovations in Web Design with XHTML, CSS, and DOM Scripting Cameron Adams Mark Boulton Andy Clarke Simon Collison Jeff Croft Derek Featherstone Ian Lloyd Ethan Marcotte Dan Rubin

More information

Chapter 13. Additional Topics in Visual Basic The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill

Chapter 13. Additional Topics in Visual Basic The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Chapter 13 Additional Topics in Visual Basic McGraw-Hill 2010 The McGraw-Hill Companies, Inc. All rights reserved. Objectives Write Windows applications that run on mobile devices Display database information

More information

ROUTED EVENTS. Chapter 5 of Pro WPF : By Matthew MacDonald Assist Lect. Wadhah R. Baiee. College of IT Univ. of Babylon

ROUTED EVENTS. Chapter 5 of Pro WPF : By Matthew MacDonald Assist Lect. Wadhah R. Baiee. College of IT Univ. of Babylon ROUTED EVENTS Chapter 5 of Pro WPF : By Matthew MacDonald Assist Lect. Wadhah R. Baiee. College of IT Univ. of Babylon - 2014 Introduction Routed events are events with more traveling power they can tunnel

More information

Pro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian

Pro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian Pro MERN Stack Full Stack Web App Development with Mongo, Express, React, and Node Vasan Subramanian Pro MERN Stack Vasan Subramanian Bangalore, Karnataka, India ISBN-13 (pbk): 978-1-4842-2652-0 ISBN-13

More information

Pro Android C++ with the NDK

Pro Android C++ with the NDK Pro Android C++ with the NDK Onur Cinar Apress Pro Android C++ with the NDK Copyright 2012 by Onur Cinar This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or

More information

Introduction to PTC Windchill MPMLink 11.0

Introduction to PTC Windchill MPMLink 11.0 Introduction to PTC Windchill MPMLink 11.0 Overview Course Code Course Length TRN-4754-T 16 Hours In this course, you will learn how to complete basic Windchill MPMLink functions. You will learn about

More information

Developing Both Responsive and Position-based mlearning and elearning Easily. mlearning: Tips and Techniques for Development and Implementation

Developing Both Responsive and Position-based mlearning and elearning Easily. mlearning: Tips and Techniques for Development and Implementation mlearning: Tips and Techniques for Development and Implementation November 14 & 15, 2013 Supplemental Materials 302 Developing Both Responsive and Position-based mlearning and elearning Easily Paul Schneider,

More information

Introduction p. 1 Who Should Read This Book? p. 2 Software Requirements p. 3 Code Examples p. 3 How This Book Is Organized p. 4 Conventions Used in

Introduction p. 1 Who Should Read This Book? p. 2 Software Requirements p. 3 Code Examples p. 3 How This Book Is Organized p. 4 Conventions Used in Introduction p. 1 Who Should Read This Book? p. 2 Software Requirements p. 3 Code Examples p. 3 How This Book Is Organized p. 4 Conventions Used in This Book p. 6 Background Why WPF? p. 7 A Look at the

More information

Ecamm Live for Facebook User Guide

Ecamm Live for Facebook User Guide Ecamm Live for Facebook User Guide Ecamm Live is a Facebook Live streaming app for Mac. Use the app to broadcast camera video, pre-recorded video, Skype video calls, or your Mac s screen, along with an

More information

Building Rich Interactive Applications with Silverlight

Building Rich Interactive Applications with Silverlight Andrew, Dani and Dr. Z MSDN Roadshow development architecture you Maryland Pennsylvania Virginia Washington DC Building Rich Interactive Applications with Silverlight Zhiming Xue Z Architect Evangelist

More information

Working with Images and Multimedia

Working with Images and Multimedia CHAPTER Working with Images and Multimedia You can make your web page more interesting by adding multimedia elements. You can download the files featured in this chapter from www.digitalfamily.com/tyv.

More information

ASP.NET Core Recipes

ASP.NET Core Recipes ASP.NET Core Recipes A Problem-Solution Approach Second Edition John Ciliberti ASP.NET Core Recipes: A Problem-Solution Approach John Ciliberti Sparta, New Jersey, USA ISBN-13 (pbk): 978-1-4842-0428-3

More information

ESSENTIAL LibreOffice Tutorials for Teachers

ESSENTIAL LibreOffice Tutorials for Teachers ESSENTIAL LibreOffice Tutorials for Teachers by Bernard John Poole Associate Professor Emeritus University of Pittsburgh at Johnstown Johnstown, PA, USA Copyright Bernard John Poole, 2016 All rights reserved

More information

Windows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018

Windows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018 Windows Presentation Foundation Jim Fawcett CSE687 Object Oriented Design Spring 2018 References Pro C# 5 and the.net 4.5 Platform, Andrew Troelsen, Apress, 2012 Programming WPF, 2nd edition, Sells & Griffiths,

More information

Getting Started. Most likely, if you ve purchased a copy of Adobe Flash CS3 Professional, Introducing Adobe Flash CS3 Professional 3

Getting Started. Most likely, if you ve purchased a copy of Adobe Flash CS3 Professional, Introducing Adobe Flash CS3 Professional 3 1 Getting Started Introducing Adobe Flash CS3 Professional 3 Why Use Flash CS3? 3 What s New in Flash CS3? 6 Flash, Flash Player, or Flash Lite? 7 File Types Associated with Flash CS3 8 Caution: Player

More information

Pro Entity Framework 4.0

Pro Entity Framework 4.0 Pro Entity Framework 4.0 Scott Klein CONTENTS Pro Entity Framework 4.0 Copyright 2010 by Scott Klein All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,

More information

Road Map for Essential Studio 2010 Volume 1

Road Map for Essential Studio 2010 Volume 1 Road Map for Essential Studio 2010 Volume 1 Essential Studio User Interface Edition... 4 Essential Grid... 4 Essential Grid ASP.NET... 4 Essential Grid ASP.NET MVC... 4 Essential Grid Windows Forms...

More information

The Scope of This Book... xxii A Quick Note About Browsers and Platforms... xxii The Appendices and Further Resources...xxiii

The Scope of This Book... xxii A Quick Note About Browsers and Platforms... xxii The Appendices and Further Resources...xxiii CONTENTS IN DETAIL FOREWORD by Joost de Valk PREFACE xvii xix INTRODUCTION xxi The Scope of This Book... xxii A Quick Note About Browsers and Platforms... xxii The Appendices and Further Resources...xxiii

More information

Keynote Basics Website:

Keynote Basics Website: Keynote Basics Website: http://etc.usf.edu/te/ Keynote is Apple's presentation application. Keynote is installed as part of the iwork suite, which also includes the word processing program Pages. If you

More information

Introduction to Creo Elements/Direct 19.0 Modeling

Introduction to Creo Elements/Direct 19.0 Modeling Introduction to Creo Elements/Direct 19.0 Modeling Overview Course Code Course Length TRN-4531-T 3 Day In this course, you will learn the basics about 3-D design using Creo Elements/Direct Modeling. You

More information

CONTENTS IN DETAIL. What s in This Book?... xx Who Is This Book For?... xx

CONTENTS IN DETAIL. What s in This Book?... xx Who Is This Book For?... xx CONTENTS IN DETAIL ACKNOWLEDGMENTS xvii INTRODUCTION xix What s in This Book?... xx Who Is This Book For?... xx 1 INKSCAPE AND THE WORLD 1.1 What Vector Graphics Is and Why It Matters... 1.2 What Can You

More information

App Development. Quick Guides for Masterminds. J.D Gauchat Cover Illustration by Patrice Garden

App Development. Quick Guides for Masterminds. J.D Gauchat   Cover Illustration by Patrice Garden App Development Quick Guides for Masterminds J.D Gauchat www.jdgauchat.com Cover Illustration by Patrice Garden www.smartcreativz.com Quick Guides for Masterminds Copyright 2018 by John D Gauchat All Rights

More information

Beginning Microsoft Office 2010

Beginning Microsoft Office 2010 Beginning Microsoft Office 2010 IB I IP TECHNISCHI= ^\ 'NFORMATIONSBIBLIOTHEK UNIVERSITATSBIBLIOTHEK HANNOVER Guy Hart-Davis Apress* TIB/UB Hannover 89 133 299 783 ill! IWIlilltllw i ttis f0k^fsll^»m*r~

More information