SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Subscribe Now for FREE! refcardz.com
                                                                                                                                                                                   tech facts at your fingertips

                                          CONTENTS INCLUDE:




                                                                                                                                                 Silverlight 2
                                          n	
                                                About Silverlight
                                          	n	
                                                The Silverlight Plug-in
                                          n	
                                                Calling Managed Code from JavaScript
                                          n	
                                                Using Managed Code to Manage the HTML DOM
                                          n	
                                                Accessing the User’s Browser Window
                                          n	
                                                Hot Tips and more...                                                                                                               By Chad A. Campbell

                                                                                                                                           As this snippet shows, the createObjectEx function is basically
                                                   ABOUT SILVERLIGHT                                                                       composed of three sections. The first section defines the manda-
                                                                                                                                           tory elements of a plug-in instance. The parameters that define
                                                  Silverlight is Microsoft’s offering for designing, developing,
                                                                                                                                           these elements are shown in the following table:
                                                  and delivering rich interactive applications over the
                                                  internet. These applications can run on all major platforms                               Parameter          Description
                                                  and in all major browsers. In this refcard we’ll cover the                                id                 The unique identifier associated with a Silverlight plug-in.
                                                  System.Windows.Browser namespace in a whirlwind tour                                                         This parameter is required.
                                                  that includes: calling managed code from JavaScript, using                                parentElement      The HTML DOM element that the Silverlight plug-in is hosted within.
                                                  managed code to control the HTML DOM, and accessing                                                          This parameter is required.
                                                  the user’s browser window. But first, you will see how to
                                                                                                                                            source             The Silverlight application to load into the plug-in.
                                                  actually create an instance of the Silverlight plug-in.                                                      This parameter is required.


                                                                                                                                           In addition to the required elements, you can customize the
                                                  THE SILVERLIGHT PLUG-IN
                                                                                                                                           plug-in instance. These customizations are defined within the
                                                 Silverlight is a browser-based plug-in that runs within a web page.                       nested properties object. This object was shown in the previous
                                                 This plug-in can be integrated with any web technology including                          code snippet. However, only some of the options were shown.
                                                 ASP, ASP.NET, JSP, and PHP. In order to create an instance of this                        All of the possible options are shown in the following table.
                                                 plug-in, you must use an HTML object tag or the JavaScript utility
                                                                                                                                            Property                Description
                                                 file that is included with the Silverlight SDK. This utility file includes
   www.dzone.com




                                                 a JavaScript function called createObjectEx which creates the                              background              Represents the color of the rectangular region where the
                                                                                                                                                                    Silverlight plug-in should be.
                                                 object element for you. An example of creating a Silverlight plug-
                                                 in with the createObjectEx function is shown here.                                         enableHtmlAccess        Determines whether or not the Silverlight application can access
                                                                                                                                                                    the HTML DOM.
                                                  <html xmlns=quot;http://www.w3.org/1999/xhtmlquot; >
                                                                                                                                            frameRate               The maximum number of frames to render per second.
                                                  <head>
                                                                                                                                            Height                  Defines the height of the rectangle that holds the Silverlight
                                                     <title>My Silverlight Project</title>
                                                                                                                                                                    application.
                                                     <script type=quot;text/javascriptquot; src=quot;Silverlight.jsquot;></script>
                                                                                                                                            isWindowless            Determines whether the plug-in displays as a windowless plug-in.
                                                  </head>
                                                                                                                                            splashScreenSource      The location of the XAML file that is used while a Silverlight
                                                                                       1. Reference the Silverlight.js utility file                                 application is loading.
                                                  <body>                                  that is part of the Silverlight SDK.
                                                                                                                                            Version                 Specifies the version of Silverlight that the application requires.
                                                     <!-- Create the Silverlight control inside
                                                                                                          2. The HTML element               Width                   Defines the width of the rectangle that holds the Silverlight
                                                     of quot;mySilverlightHostquot; -->                              that hosts the                                         application.
                                                     <div id=quot;mySilverlightHostquot;>                            Silverlight plug-in.

                                                        <script type=quot;text/javascriptquot;>
                                                              Silverlight.createObjectEx({
                                                              source: quot;ClientBin/MySilverlightApp.xapquot;,                                                                          Get More Refcardz
                                                              parentElement: document.getElementById                                                                                          (They’re free!)
                                                              (quot;mySilverlightHostquot;),
                                                              id: quot;mySilverlightControlquot;,
                                                                                                                                                                                  n   Authoritative content
                                                              properties: {                                                                                                       n   Designed for developers
                                                                   width: quot;100%quot;,                                                                                                 n   Written by top experts
                                                                   height: quot;100%quot;,     3. The createObjectEx                                                                      n   Latest tools & technologies
Silverlight 2




                                                                                          function creates an
                                                                   version: quot;2.0quot;
                                                                                          instance of the
                                                                                                                                                                                  n   Hot tips & examples
                                                              },                          Silverlight plug-in.                                                                    n   Bonus content online
                                                              events: {}                                                                                                          n   New issue every 1-2 weeks
                                                        });
                                                     </script>
                                                   </div>
                                                                                                                                                            Subscribe Now for FREE!
                                                  </body>                                                                                                        Refcardz.com
                                                  </html>


                                                                                                                        DZone, Inc.   |   www.dzone.com
2
                                                                                                                                                                                 Silverlight 2
   tech facts at your fingertips




The Silverlight Plug-in, continued                                                                        Event                                  Description

                                                                                                          onSourceDownloadProgressChanged        Fires when .05% or more of the Silverlight
In addition to defining the general look of the plug-in, it can                                                                                  application has downloaded. This can be used
also be configured to respond to certain events. These events                                                                                    to update the splash screen referenced by the
                                                                                                                                                 splashScreenSource parameter.
are listed here:
                                                                                                          onSourceDownloadComplete               Triggered when the Silverlight application has
                                                                                                                                                 been fully downloaded.
Event                              Description

onError                            Handles an exception that has not been caught within                  The events, properties, and core items of the createObjectEx
                                   the Silverlight application.
                                                                                                         function define how to create an instance of the Silverlight
onLoad                             Triggered when the plug-in is created and all of the                  plug-in. This instance may host a Silverlight application which
                                   Silverlight content has been loaded.
                                                                                                         includes some managed code methods. Significantly, you may
                                                                                                         call these managed code items from JavaScript.


 CALLING MANAGED CODE FROM JAVASCRIPT

Silverlight empowers you to expose managed code                                           JavaScript from Hosting Web Page                         1. A Silverlight application is hosting in a
                                                                                                                                                      Silverlight plugin. This plugin is added to
to the scripting world. When you consider Silverlight’s
                                                                                          function CallManagedCode()                                  the HTML DOM as an OBJECT element.
rich networking and data frameworks, the value in this                                                                                                This line retrieves the Silverlight plugin
                                                                                                                                                      from the HTML DOM.
becomes apparent. For instance, you may choose                                            {
to use the powerful LINQ capabilities to query data
                                                                                               var mySilverlight = document.getElementById(quot;mySilverlightquot;);
or sort a result set. Alternatively, you may need to
retrieve data from an RSS feed. Or perhaps you need                                            var currentTime = mySilverlight.content.bridge.GetDateTime();
to communicate with a POX, ATOM, REST, SOAP, or
                                                                                              alert(currentTime);            2. The content property            3. The “bridge” item is
WS-* service. Regardless of your data or communica-                                                                             gives us access to a            actually set by us. We set
tion task, Silverlight allows you to use the power of                                     }                                     Silverlight application         this from managed code.
                                                                                                                                from the HTML DOM.              This item gives us access to
the .NET Framework to accomplish it. Harnessing                                                                                                                 ScriptableMember items in
this power from JavaScript involves four simple steps:                                    Class Hosted within Silverlight Application                           ScriptableType elements.


1. Mark the method, property, or event with the                                           [ScriptableType]
   ScriptableMember attribute.                                                            public class MyClass
2. Tag the class that holds the item from step 1 with                                     {
   the ScriptableType attribute.                                                               public MyClass()
                                                                                               {
3. Create the bridge between the class instance and                                                    HtmlPage.RegisterScriptableObject(quot;bridgequot;, this);
   the HTML DOM with the RegisterScriptableObject                                              }
   class.                                                                                                                              4. The RegisterScriptableObject method exposes a
                                                                                               [ScriptableMember]                         class instance to the scripting world. This object
4. Call the item from step 1 from JavaScript.                                                                                             will be exposed using the handle you pass as the
                                                                                               public string GetDateTime()
                                                                                                                                          first parameter. In this case, the handle is “bridge”.
These four steps outline the process of exposing                                               {
managed code to the scripting world. To demonstrate                                                    DateTime currentTime = DateTime.Now;
how this looks with actual code, we will call a C# method                                              return currentTime.ToString();
that returns the current date and time. This date and                                          }
time will then be printed within an alert prompt.                                         }



   This example demonstrates how to call managed code from                                              Framework provided by Silverlight, this task is a cinch. You
   JavaScript. This approach lets us use the .NET Framework in                                          can use the feature we just learned about to either enhance,
   Silverlight to perform tasks that are traditionally difficult or                                     or replace, some current functionality written in JavaScript.
   annoying in JavaScript. For instance, consider the task of                                           However, in order to truly replace that functionality, you will
   parsing XML in JavaScript. This task is quite cumbersome                                             probably need to know how to manage the HTML DOM from
   with ECMA JavaScript. However, with the powerful .NET                                                managed code.



 USING MANAGED CODE TO MANAGE THE HTML DOM

Silverlight gives us the flexibility to manage the HTML DOM                                             when you consider coupling this with the ability to call managed
from managed code. This means you can alter HTML elements                                               code from JavaScript, you can see a powerful combination.
using a language such as C# or Visual Basic. These languages                                            This powerful combination is glued together by three classes:
offer features such as compile-time type-checking and richer                                            HtmlPage, HtmlDocument, and HtmlElement.
IntelliSense support through Microsoft Visual Studio. Either way,                                                                                                                              →

                                                                               DZone, Inc.         |    www.dzone.com
3
                                                                                                                                                                     Silverlight 2
     tech facts at your fingertips




Using Managed Code to Manage the HTML DOM,                                                       Finding HTML Elements
continued                                                                                        Searching for HTML elements from managed code is an
The HtmlPage class is the core element to use when working                                       important part of taking advantage of the HTML DOM API.
with the HTML DOM. This statically visible class exposes a                                       We can traverse through the hierarchy of a web page using
variety of properties that give you access to the key items of                                   the DocumentElement, Children, and Parent properties
a web page. These properties are listed and described in the                                     mentioned earlier. However, the HtmlDocument class exposes
following table.                                                                                 two methods that empower us to retrieve HtmlElement items
                                                                                                 more efficiently. These methods are listed and described in
 Property                    Description
                                                                                                 the following table.
 BrowserInformation          Gives us access to the user’s browser information.

 Document                    This is an HtmlDocument object that represents a web                    Property               Description
                             page. This specific property represents the web page
                             hosting the calling Silverlight application.                            GetElementById         Empowers us to find any element within an
                                                                                                                            HtmlDocument by referencing its unique identifier.
 Plugin                      This is an HtmlElement that represents the HTML element                                        If the element is found, an object-oriented version of
                             that is hosting the running Silverlight application.                                           the element, known as an HtmlElement, is returned.
                                                                                                                            If the element is not found, null will be returned.
 Window                      Gives us access to the user’s browser window.
                             This will be demonstrated shortly.                                      GetElementsByTagName   Finds all of the elements with a specified tag
                                                                                                                            name. The results are returned as a collection of
The properties listed in the previous table serve as entry points                                                           HtmlElement items.

into the HTML world. The main entry point we will use in this
section is provided through the Document property. This                                          The previous table shows the two methods that can be
property is an HtmlDocument object which in turn gives us two                                    used to find items within a web page. To demonstrate how
properties that serve as entry points into a web page. These                                     to find an individual item, please look at the following
properties are listed and described in the following table.                                      code sample:
                                                                                                       HtmlDocument document = HtmlPage.Document;
 Property                    Description

 DocumentElement             This property represents the root element of the HTML
                                                                                                       HtmlElement myHtmlElement =
                             DOM. Because of this, it always represents the “HTML”                     document.GetElementById(quot;myHtmlElementquot;);
                             element of a web page.

 Body                        This property gives us immediate access to the contents of          This element was assumed to be named “myHtmlElement”.
                             the “BODY” element of a web page.                                   This name needs to be the id of an element within the host-
                                                                                                 ing web page. Once we have retrieved the element though,
Both of the elements listed in the previous table are actually                                   we can actually set any of the properties that define it.
HtmlElement objects. An HtmlElement is an in-memory
representation of an HTML element. This means that if you                                        Setting Element Properties
have an input tag or span element in HTML, they will both be                                     The HtmlElement class exposes an all-purpose method
represented as HtmlElement objects in managed code. This                                         called SetProperty. This method empowers us to set an ele-
gives us the ability to work with common, useful properties from                                 ment’s attribute from managed code. To accomplish this, we
managed code. These properties are listed in the following table.                                must use two string parameters:

Property                    Description
                                                                                                 n    The first parameter is a string that represents the name of
Children                    A collection of HtmlElement items that are hosted by the
                                                                                                      the property to set.
                            current HtmlElement.                                                 n    The second parameter is a string that represents the value
CssClass                    The name of the CSS (Cascading Style Sheet) class in use by               to set to the property.
                            the HtmlElement.

Id                          The unique identifier of the HtmlElement.                            This is demonstrated in the following code sample:
Parent                      The HtmlElement that hosts the calling item. If the calling                HtmlDocument document = HtmlPage.Document;
                            item is the DocumentElement, this value will be null.

TagName                     The name of the tag used by the HtmlElement.
                                                                                                       HtmlElement myHtmlElement =
                                                                                                       document.GetElementById(quot;myHtmlElementquot;);
The properties in the previous table define an HtmlElement.                                            myHtmlElement.SetProperty(quot;innerTextquot;, quot;Hello, HTMLquot;);
An HtmlElement is a critical component of an HtmlDocument
object. This object is accessible through the statically visible                                 This code sample sets the innerText property of an imaginary
HtmlPage class. With this class in hand we can perform a                                         HTML element to “Hello, HTML”. Essentially, imagine setting
number of valuable tasks. Not the least of which include:                                        the text of a span named “myHtmlElement” to “Hello, World”.
finding HTML elements, setting element properties, setting                                       This is what the code sample accomplishes. Significantly, this
CSS information, and managing state information.                                                 approach is applicable to any element in a web page.


                   Be aware of what values you pass to the SetProperty method. For instance, it doesn’t make sense to set the
     Hot
     Tip           “checked” property on a select tag (the select element doesn’t have a “checked” property, but a check box does).
                   However, with the flexibility of CSS, we do not have to be as careful when setting CSS information.


                                                                              DZone, Inc.   |   www.dzone.com
4
                                                                                                                                                             Silverlight 2
     tech facts at your fingertips




Setting CSS Information                                                                               CALLING JAVASCRIPT FROM MANAGED CODE
In addition to setting properties, we can also set an HTML
element’s style information from managed code. This can                                              Calling JavaScript from managed code is especially useful if
be accomplished by using the SetStyleAttribute method.                                               you are attempting to integrate Silverlight into a pre-existing
This method takes two string parameters:                                                             web application. For instance, let’s pretend you have a
n    The first parameter specifies the CSS property we want to set.                                  JavaScript function called “myJSFunction”. You could call
n    The second parameter signals the value we want to set the                                       this JavaScript function from managed code using the Invoke
     property to.                                                                                    method as shown here:

This approach is demonstrated on a fictional span in the                                                  HtmlWindow window = HtmlPage.Window;
following sample:                                                                                         window.Invoke(quot;myJSFunctionquot;, new object[]{});

      HtmlDocument document = HtmlPage.Document;                                                     The Invoke method takes two parameters:
      HtmlElement myHtmlElement =                                                                    n   The first parameter is the name of the JavaScript function to
      document.GetElementById(quot;myHtmlElementquot;);                                                          execute. Notice that this value does not include the opening
      myHtmlElement.SetStyleAttribute(quot;colorquot;, quot;greenquot;);
                                                                                                         and closing parenthesis associated with a function call.
                                                                                                     n   The second parameter is an object array that stores the
                                                                                                         parameters to pass to the function. Thus, if “myJSFunction”
                       When setting style attributes from managed                                        expected the date and time as parameters, you could pass
       Hot             code, you must use the scripting naming ap-                                       them using the following:
       Tip             proach instead of the CSS naming approach to                                  This approach is demonstrated on a fictional span in the
                       reference a style attribute. For instance, if you                             following sample:
                       wanted to set the background color of an HTML
                                                                                                          HtmlWindow window = HtmlPage.Window;
                       element, you would need to use ‘background-
                                                                                                          window.Invoke(quot;myJSFunctionquot;,
                       Color’ instead of ‘background-color’.
                                                                                                            new object[] {DateTime.Now.Date,
                                                                                                            DateTime.Now.TimeOfDay});
This basic code sample changes the text color of an assumed                                          After the JavaScript function has been invoked, the result
span to green. This demonstrates how to set the CSS infor-
                                                                                                     will be returned back to the managed code. The result will
mation of an HtmlElement. This object also allows us to set
                                                                                                     be available as an object. This gives you the flexibility to
the properties that separate it from other elements in a web
                                                                                                     interact with any existing JavaScript function.
page. This web page is represented as an HtmlDocument .
This web page may have information that is specific to the
current request. For instance, the web page may display                                                             Silverlight does not have a print feature built-in.
information specific to an individual customer or order.                                                   Hot      However, if you need to print the contents of
These types of situations are often times exposed through                                                  Tip      a screen, you can use the browser window's
state variables.
                                                                                                                    built-in print function. This can be accomplished
Managing State Variables                                                                                            from managed code by using the following:
State variables allow you to store information across page post
                                                                                                                    HtmlWindow window = HtmlPage.Window;
backs. While Silverlight is a client-side platform that helps to
                                                                                                                    window.Invoke(quot;printquot;, new object[]{});
alleviate post backs, you may still run into them. The reason
why is simply because a Silverlight application is hosted within
a web page. Either way, you can read state-related information
                                                                                                      ACCESSING THE USER’S BROwSER wINDOw
through the two properties shown in the following table.

                                                                                                     Silverlight gives us the flexibility to work with a user’s browser
    Property                   Description
                                                                                                     window through the HtmlWindow class. An instance of this
    Cookies                    A string that gives you the ability to manage the cookies
                               associated with a page.                                               class can be obtained from the statically visible Window
                                                                                                     property of an HtmlPage. Once retrieved, we can use this
    QueryString                A dictionary of the key/value pairs associated with a page’s
                               query string.                                                         object to navigate the user to another location. Alternatively,
                                                                                                     we can actually use the browser window to display some
The two properties shown in the previous table are part                                              valuable prompts to a user.
of the HtmlDocument class. These two properties can be
very useful in integration scenarios. In addition, these types                                       Navigating the Browser
of scenarios may have pre-existing JavaScript that can be                                            Navigating the browser window is an important part of
used. Fortunately, Silverlight gives you the flexibility to call                                     the hyperlinked world of the internet. Because of this, the
JavaScript from managed code.                                                                        HtmlWindow class exposes two methods to address navigation:


                                                                                  DZone, Inc.   |   www.dzone.com
5
                                                                                                                                                                               Silverlight 2
      tech facts at your fingertips




Accessing the User’s Browser Window, continued                                                           Collecting Browser Information
n    One method is designed to be used with a location within                                            As a web developer, you may have witnessed how HTML
     the current page.                                                                                   content sometimes renders differently on different browsers
n    The other method is intended to be used to go to other                                              and platforms. However, Silverlight content is designed to
     locations on the internet.                                                                          render consistently across different browsers and platforms.
                                                                                                         But, if you are editing the HTML DOM through Silverlight,
Either way, both of these methods are described in the
                                                                                                         you will still need to take these browser differences into
following table:
                                                                                                         consideration. Fortunately, the BrowserInformation class gives
    Method                            Description                                                        us access to this information through the following properties.
    Navigate(…)                       This method will redirect the browser window to the
                                      provided URI. This URI can be loaded in an optional target          Property           Description
                                      window. The specifications of this target window can be set
                                      via an optional third parameter. The name and specification         BrowserVersion     Stores the major, minor, build, and revision information of a
                                      of the target window parameters match those used by the                                browser. This information is available as a System.Version
                                      HTML DOM window.open function.                                                         class instance.
    NavigateToBookmark(…)             This method is used to navigate to a location within the
                                                                                                          CookiesEnabled     A bool value that retrieves whether or not the user has enabled
                                      current HTML page. This location must be defined by an
                                      anchor tag with the web page.                                                          cookies in their browser.

                                                                                                          Name               The name of the browser that the user is using (i.e. “Microsoft
The two methods listed in the previous table ensure that your                                                                Internet Explorer” or “Netscape”).

Silverlight application isn’t isolated. In order to escape from                                           Platform           A string that identifies the operating system the user is using
an island of isolation, you can use the following code to go to                                                              (i.e. “Win32”).

another page on the internet.                                                                             UserAgent          The value of the user-agent header that will be sent from the
                                                                                                                             browser to the server.
      Uri uri =
                                                                                                         With these properties, you can easily account for differences
         new Uri(quot;http://www.manning.com/affiliate/
                                                                                                         between browsers. For instance, absolutely positioning an
         idevaffiliate.php?id=513_100quot;);
                                                                                                         element in an HTML page is a common pain point across
      HtmlWindow window = HtmlPage.Window;
                                                                                                         browsers. To do this from Silverlight, you can do something
      window.Navigate(uri, quot;_blankquot;);                                                                    like the following:
This code sample will open a web page in a new browser window.
                                                                                                            // Retrieve an html element
In addition to performing basic navigation though, we can also
                                                                                                            HtmlDocument document = HtmlPage.Document;
use the browser to display prompts.
                                                                                                            HtmlElement element = document.GetElementById
Prompting the User                                                                                          (quot;myHtmlElementquot;);
The HtmlWindow class gives us the ability to provide prompts
through the user's browser window. These prompts are listed                                                 // Absolutely position it based on the browser

and described in the following table.                                                                       BrowserInformation bi = HtmlPage.BrowserInformation;
                                                                                                            if (bi.Name == quot;Internet Explorerquot;)
    Method                    Description
                                                                                                                 element.SetStyleAttribute(quot;topquot;, quot;300pxquot;);
    Alert(…)                  Shows a single message in an HTML alert window.
                                                                                                            else
    Confirm(…)                Prompts the user to agree or disagree with a statement or
                              question. This prompt displays two buttons: OK and Cancel.                         element.SetStyleAttribute(quot;topquot;, quot;305pxquot;);
                              The text of these buttons cannot be customized. If a user
                              selects OK, this method will return true. However, if a user               As you can imagine, the BrowserInformation class is an
                              selects Cancel, this method will return false.
                                                                                                         important part of working with the HTML DOM. Perhaps an
    Prompt(…)                 Creates a dialog window that displays a single message. In
                              addition, this dialog displays a single text box that the user can         even more powerful part of the HTML DOM API though is the
                              enter information into. If the user selects the OK button from             HtmlWindow. This API also allows you to manage the HTML
                              this dialog window, the value of that text box will be returned
                              as a string. Otherwise, if a user selects Cancel or exits the              DOM from managed code. On the contrary, you can expose
                              window, null will be returned.                                             your managed code to the HTML DOM. No matter the direction
                                                                                                         you want to go, Silverlight can help you get there. You can find
The prompt options shown may be familiar to you. They mimic
                                                                                                         out more about the incredibly powerful Silverlight platform in
the prompt options found in the HTML DOM Window object.
                                                                                                         the book Silverlight 2 in Action.
Either way, in order to deliver a prompt from C#, you can use
code like the following:
                                                                                                                       Be careful when using the Navigate method.
      HtmlWindow window = HtmlPage.Window;
      window.Alert(DateTime.Now.ToString());
                                                                                                              Hot      If you redirect your user away from the current
                                                                                                              Tip      web page in the current browser window, your
This code snippet simply displays the current date and time to                                                         Silverlight application will be unloaded. This may
the user. That’s all there is to it. These kinds of prompts are a valu-                                    not be what you have intended. Because of this, you may
able part of the browser environment. Equally valuable and useful                                          want to consider using the “blank” value as the target window.
though is the information associated with the browser itself.


                                                                                     DZone, Inc.    |   www.dzone.com
6
                                                                                                                                                                                                                Silverlight 2
              tech facts at your fingertips




            RESOURCES

            Resource                                            URL                                                             Resource                      URL

            Experience Silverlight                              http://silverlight.net/Showcase/                                Stay Connected                http://silverlight.net/blogs/community/rss.aspx
                                                                                                                                with Silverlight:
            Get Started with Silverlight                        http://silverlight.net/GetStarted/                                                            http://feeds.feedburner.com/JesseLiberty-SilverlightGeek
                                                                                                                                Popular Silverlight
                                                                                                                                RSS Feeds                     http://feeds.timheuer.com/timheuer
            Go Deeper with Silverlight: Silverlight             http://books.dzone.com/books/silverlight
            2 in Action by Chad Campbell and
            John Stockton




     ABOUT THE AUTHOR                                                                                                                                           RECOMMENDED BOOK

                              Chad A. Campbell                                                                                                                                         Silverlight 2 in Action is the
                              Chad Campbell is a Microsoft MVP and solutions architect. He has been                                                                                    first book to cover Silverlight
                              developing enterprise-level web applications with a wide variety of tech-                                                                                2, a far more robust imple-
                              nologies since 1999. Beginning with the initial public release of what would                                                                             mentation of Silverlight than
                              become Silverlight in 2006, Chad hit the ground running and has not looked                                                                               the current 1 release that
                              back. He holds MCSD and MCTS certifications. In addition, Chad has a BS                                                                                  supports only JavaScript. The
                              degree from Purdue University where he focused his studies on computer                                                                                   much-anticipated 2 release
                              science and minored in psychology.                                                                                                                       adds powerful new features
                                                                                                                                                                                       along with the ability to code
     Publication
                                                                                                                                                                 in multiple languages and integrate your work with
     Silverlight 2 in Action (Manning)
                                                                                                                                                                 Visual Studio and the new Expression suite of tools.
     Blog
     http://cornucopia30.blogspot.com/
                                                                                                                                                                                           BUY NOw
     Twitter Feed
                                                                                                                                                                    books.dzone.com/books/silverlight
     http://twitter.com/chadcampbell




 Want More? Download Now. Subscribe at refcardz.com
 Upcoming Refcardz:                                   Available:
                                                                                                                                                                            FREE
 n   	 C#                                             Published June 2008
 n   	 GlassFish                                      n   	 jQuerySelectors
       Application Server                             n   	 Design Patterns
 n   		RSS and Atom                                   n   	 Flexible Rails: Flex 3 on Rails 2
 n   		Apache Struts 2
                                                      Published May 2008
 n   		NetBeans IDE 6                                 n   	 Windows PowerShell                                                                                       Getting
       Java Editor                                    n   	 Dependency Injection in EJB 3                                                                            Started
 n   		Groovy                                                                                                                                                        with Ajax
                                                      Published April 2008                                                                                           Published                              GWT Style,
 n   		IntelliJ IDEA
                                                      n   	 Spring Configuration                                                                                     April 2008                           Configuration
                                                      n   	 Getting Started with Eclipse                                                                                                             and JSNI Reference
                                                                                                                                                                                                      Published April 2008




                                                                                                                        DZone, Inc.
                                                                                                                        1251 NW Maynard
                                                                                                                                                                                       ISBN-13: 978-1-934238-11-0
                                                                                                                        Cary, NC 27513
                                                                                                                                                                                       ISBN-10: 1-934238-11-2
                                                                                                                                                                                                                    50795
                                                                                                                        888.678.0399
DZone communities deliver over 3.5 million pages per month to                                                           919.678.0300
more than 1.5 million software developers, architects and designers.
                                                                                                                        Refcardz Feedback Welcome
DZone offers something for every developer, including news,                                                             refcardz@dzone.com
                                                                                                                                                                                                                                 $7.95




tutorials, blogs, cheatsheets, feature articles, source code and more.                                                  Sponsorship Opportunities                                  9 781934 238110
“DZone is a developer’s dream,” says PC Magazine.                                                                       sales@dzone.com

                                                                                                                                                                                                                   Version 1.0
Copyright © 2008 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical,
photocopying, or otherwise, without prior written permission of the publisher. Reference: Silverlight 2 in Action, Chad Campbell and John Stockon, Manning Publications MEAP Release October 2007.

Weitere ähnliche Inhalte

Was ist angesagt?

Large-Scale JavaScript Development
Large-Scale JavaScript DevelopmentLarge-Scale JavaScript Development
Large-Scale JavaScript DevelopmentAddy Osmani
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Bohdan Dovhań
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorialvinayiqbusiness
 
Introduction to Ibatis by Rohit
Introduction to Ibatis by RohitIntroduction to Ibatis by Rohit
Introduction to Ibatis by RohitRohit Prabhakar
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVCJohn Lewis
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Mikkel Flindt Heisterberg
 
Partying with PHP (…and the Microsoft Platform)
Partying with PHP (…and the Microsoft Platform)Partying with PHP (…and the Microsoft Platform)
Partying with PHP (…and the Microsoft Platform)goodfriday
 
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]Alex Ershov
 
當ZK遇見Front-End
當ZK遇見Front-End當ZK遇見Front-End
當ZK遇見Front-End祁源 朱
 

Was ist angesagt? (15)

Large-Scale JavaScript Development
Large-Scale JavaScript DevelopmentLarge-Scale JavaScript Development
Large-Scale JavaScript Development
 
DEV-1467 - Darwino
DEV-1467 - DarwinoDEV-1467 - Darwino
DEV-1467 - Darwino
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorial
 
Introduction to Ibatis by Rohit
Introduction to Ibatis by RohitIntroduction to Ibatis by Rohit
Introduction to Ibatis by Rohit
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Azure rev002
Azure rev002Azure rev002
Azure rev002
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
Reactjs Basics
Reactjs BasicsReactjs Basics
Reactjs Basics
 
Partying with PHP (…and the Microsoft Platform)
Partying with PHP (…and the Microsoft Platform)Partying with PHP (…and the Microsoft Platform)
Partying with PHP (…and the Microsoft Platform)
 
Spring Framework -I
Spring Framework -ISpring Framework -I
Spring Framework -I
 
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
 
當ZK遇見Front-End
當ZK遇見Front-End當ZK遇見Front-End
當ZK遇見Front-End
 
Jspprogramming
JspprogrammingJspprogramming
Jspprogramming
 

Ähnlich wie Silverlight

Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendCaleb Jenkins
 
Silverlight overview
Silverlight overviewSilverlight overview
Silverlight overviewTaras Romanyk
 
Parallel minds silverlight
Parallel minds silverlightParallel minds silverlight
Parallel minds silverlightparallelminder
 
Difference between ajax and silverlight
Difference between ajax and silverlightDifference between ajax and silverlight
Difference between ajax and silverlightUmar Ali
 
Silverlight difference faqs-1
Silverlight  difference faqs-1Silverlight  difference faqs-1
Silverlight difference faqs-1Umar Ali
 
Lightning web components
Lightning web components Lightning web components
Lightning web components Cloud Analogy
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver lightjayc8586
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by SubodhSubodh Pushpak
 
Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>
Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>
Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />tutorialsruby
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationBoulos Dib
 
Spring Roo Rev005
Spring Roo Rev005Spring Roo Rev005
Spring Roo Rev005Rich Helton
 
MVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebdayMVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebdayRicardo Fiel
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017ElifTech
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 
WinJS at NYC Code Camp 2012
WinJS at NYC Code Camp 2012WinJS at NYC Code Camp 2012
WinJS at NYC Code Camp 2012Dmitri Artamonov
 

Ähnlich wie Silverlight (20)

Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression Blend
 
Building richwebapplicationsusingasp
Building richwebapplicationsusingaspBuilding richwebapplicationsusingasp
Building richwebapplicationsusingasp
 
Silverlight overview
Silverlight overviewSilverlight overview
Silverlight overview
 
Parallel minds silverlight
Parallel minds silverlightParallel minds silverlight
Parallel minds silverlight
 
Difference between ajax and silverlight
Difference between ajax and silverlightDifference between ajax and silverlight
Difference between ajax and silverlight
 
Silverlight difference faqs-1
Silverlight  difference faqs-1Silverlight  difference faqs-1
Silverlight difference faqs-1
 
Lightning web components
Lightning web components Lightning web components
Lightning web components
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver light
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by Subodh
 
Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>
Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>
Build Comet applications using Scala, Lift, and &lt;b>jQuery&lt;/b>
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch Application
 
Basic silverlight
Basic silverlightBasic silverlight
Basic silverlight
 
Spring Roo Rev005
Spring Roo Rev005Spring Roo Rev005
Spring Roo Rev005
 
Silverlight
SilverlightSilverlight
Silverlight
 
MVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebdayMVVM+MEF in Silvelight - W 2010ebday
MVVM+MEF in Silvelight - W 2010ebday
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 
WinJS at NYC Code Camp 2012
WinJS at NYC Code Camp 2012WinJS at NYC Code Camp 2012
WinJS at NYC Code Camp 2012
 

Mehr von reynolds

Three Thing In The Life
Three Thing In The LifeThree Thing In The Life
Three Thing In The Lifereynolds
 
Snake Catchers In Africa
Snake Catchers In AfricaSnake Catchers In Africa
Snake Catchers In Africareynolds
 
Tsunami Before & After
Tsunami Before & AfterTsunami Before & After
Tsunami Before & Afterreynolds
 
America chooses barack obama
America chooses barack obamaAmerica chooses barack obama
America chooses barack obamareynolds
 
Obama Biden
Obama BidenObama Biden
Obama Bidenreynolds
 
Vote For The Barack Obama
Vote For The Barack ObamaVote For The Barack Obama
Vote For The Barack Obamareynolds
 
Barack Obama
Barack ObamaBarack Obama
Barack Obamareynolds
 
Vote For Change
Vote For ChangeVote For Change
Vote For Changereynolds
 
Barack Obama
Barack ObamaBarack Obama
Barack Obamareynolds
 
ObamaShirts
ObamaShirtsObamaShirts
ObamaShirtsreynolds
 
Obama+Presidential+Seal
Obama+Presidential+SealObama+Presidential+Seal
Obama+Presidential+Sealreynolds
 
Barack Obama Phots Gallery
Barack Obama Phots GalleryBarack Obama Phots Gallery
Barack Obama Phots Galleryreynolds
 
Barack Obama
Barack ObamaBarack Obama
Barack Obamareynolds
 
Canstruction
CanstructionCanstruction
Canstructionreynolds
 
Some Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The WorldSome Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The Worldreynolds
 
Learn to live
Learn to liveLearn to live
Learn to livereynolds
 
MANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESSMANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESSreynolds
 
Artistic Airplanes
Artistic AirplanesArtistic Airplanes
Artistic Airplanesreynolds
 
America The Beautiful
America The BeautifulAmerica The Beautiful
America The Beautifulreynolds
 

Mehr von reynolds (20)

Three Thing In The Life
Three Thing In The LifeThree Thing In The Life
Three Thing In The Life
 
Snake Catchers In Africa
Snake Catchers In AfricaSnake Catchers In Africa
Snake Catchers In Africa
 
Tsunami Before & After
Tsunami Before & AfterTsunami Before & After
Tsunami Before & After
 
America chooses barack obama
America chooses barack obamaAmerica chooses barack obama
America chooses barack obama
 
Obama Biden
Obama BidenObama Biden
Obama Biden
 
Vote For The Barack Obama
Vote For The Barack ObamaVote For The Barack Obama
Vote For The Barack Obama
 
Barack Obama
Barack ObamaBarack Obama
Barack Obama
 
Vote For Change
Vote For ChangeVote For Change
Vote For Change
 
Barack Obama
Barack ObamaBarack Obama
Barack Obama
 
ObamaShirts
ObamaShirtsObamaShirts
ObamaShirts
 
Obama+Presidential+Seal
Obama+Presidential+SealObama+Presidential+Seal
Obama+Presidential+Seal
 
Barack Obama Phots Gallery
Barack Obama Phots GalleryBarack Obama Phots Gallery
Barack Obama Phots Gallery
 
Barack Obama
Barack ObamaBarack Obama
Barack Obama
 
Canstruction
CanstructionCanstruction
Canstruction
 
Some Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The WorldSome Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The World
 
Learn to live
Learn to liveLearn to live
Learn to live
 
MANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESSMANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESS
 
Artistic Airplanes
Artistic AirplanesArtistic Airplanes
Artistic Airplanes
 
America The Beautiful
America The BeautifulAmerica The Beautiful
America The Beautiful
 
Good Life
Good LifeGood Life
Good Life
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Kürzlich hochgeladen (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Silverlight

  • 1. Subscribe Now for FREE! refcardz.com tech facts at your fingertips CONTENTS INCLUDE: Silverlight 2 n About Silverlight n The Silverlight Plug-in n Calling Managed Code from JavaScript n Using Managed Code to Manage the HTML DOM n Accessing the User’s Browser Window n Hot Tips and more... By Chad A. Campbell As this snippet shows, the createObjectEx function is basically ABOUT SILVERLIGHT composed of three sections. The first section defines the manda- tory elements of a plug-in instance. The parameters that define Silverlight is Microsoft’s offering for designing, developing, these elements are shown in the following table: and delivering rich interactive applications over the internet. These applications can run on all major platforms Parameter Description and in all major browsers. In this refcard we’ll cover the id The unique identifier associated with a Silverlight plug-in. System.Windows.Browser namespace in a whirlwind tour This parameter is required. that includes: calling managed code from JavaScript, using parentElement The HTML DOM element that the Silverlight plug-in is hosted within. managed code to control the HTML DOM, and accessing This parameter is required. the user’s browser window. But first, you will see how to source The Silverlight application to load into the plug-in. actually create an instance of the Silverlight plug-in. This parameter is required. In addition to the required elements, you can customize the THE SILVERLIGHT PLUG-IN plug-in instance. These customizations are defined within the Silverlight is a browser-based plug-in that runs within a web page. nested properties object. This object was shown in the previous This plug-in can be integrated with any web technology including code snippet. However, only some of the options were shown. ASP, ASP.NET, JSP, and PHP. In order to create an instance of this All of the possible options are shown in the following table. plug-in, you must use an HTML object tag or the JavaScript utility Property Description file that is included with the Silverlight SDK. This utility file includes www.dzone.com a JavaScript function called createObjectEx which creates the background Represents the color of the rectangular region where the Silverlight plug-in should be. object element for you. An example of creating a Silverlight plug- in with the createObjectEx function is shown here. enableHtmlAccess Determines whether or not the Silverlight application can access the HTML DOM. <html xmlns=quot;http://www.w3.org/1999/xhtmlquot; > frameRate The maximum number of frames to render per second. <head> Height Defines the height of the rectangle that holds the Silverlight <title>My Silverlight Project</title> application. <script type=quot;text/javascriptquot; src=quot;Silverlight.jsquot;></script> isWindowless Determines whether the plug-in displays as a windowless plug-in. </head> splashScreenSource The location of the XAML file that is used while a Silverlight 1. Reference the Silverlight.js utility file application is loading. <body> that is part of the Silverlight SDK. Version Specifies the version of Silverlight that the application requires. <!-- Create the Silverlight control inside 2. The HTML element Width Defines the width of the rectangle that holds the Silverlight of quot;mySilverlightHostquot; --> that hosts the application. <div id=quot;mySilverlightHostquot;> Silverlight plug-in. <script type=quot;text/javascriptquot;> Silverlight.createObjectEx({ source: quot;ClientBin/MySilverlightApp.xapquot;, Get More Refcardz parentElement: document.getElementById (They’re free!) (quot;mySilverlightHostquot;), id: quot;mySilverlightControlquot;, n Authoritative content properties: { n Designed for developers width: quot;100%quot;, n Written by top experts height: quot;100%quot;, 3. The createObjectEx n Latest tools & technologies Silverlight 2 function creates an version: quot;2.0quot; instance of the n Hot tips & examples }, Silverlight plug-in. n Bonus content online events: {} n New issue every 1-2 weeks }); </script> </div> Subscribe Now for FREE! </body> Refcardz.com </html> DZone, Inc. | www.dzone.com
  • 2. 2 Silverlight 2 tech facts at your fingertips The Silverlight Plug-in, continued Event Description onSourceDownloadProgressChanged Fires when .05% or more of the Silverlight In addition to defining the general look of the plug-in, it can application has downloaded. This can be used also be configured to respond to certain events. These events to update the splash screen referenced by the splashScreenSource parameter. are listed here: onSourceDownloadComplete Triggered when the Silverlight application has been fully downloaded. Event Description onError Handles an exception that has not been caught within The events, properties, and core items of the createObjectEx the Silverlight application. function define how to create an instance of the Silverlight onLoad Triggered when the plug-in is created and all of the plug-in. This instance may host a Silverlight application which Silverlight content has been loaded. includes some managed code methods. Significantly, you may call these managed code items from JavaScript. CALLING MANAGED CODE FROM JAVASCRIPT Silverlight empowers you to expose managed code JavaScript from Hosting Web Page 1. A Silverlight application is hosting in a Silverlight plugin. This plugin is added to to the scripting world. When you consider Silverlight’s function CallManagedCode() the HTML DOM as an OBJECT element. rich networking and data frameworks, the value in this This line retrieves the Silverlight plugin from the HTML DOM. becomes apparent. For instance, you may choose { to use the powerful LINQ capabilities to query data var mySilverlight = document.getElementById(quot;mySilverlightquot;); or sort a result set. Alternatively, you may need to retrieve data from an RSS feed. Or perhaps you need var currentTime = mySilverlight.content.bridge.GetDateTime(); to communicate with a POX, ATOM, REST, SOAP, or alert(currentTime); 2. The content property 3. The “bridge” item is WS-* service. Regardless of your data or communica- gives us access to a actually set by us. We set tion task, Silverlight allows you to use the power of } Silverlight application this from managed code. from the HTML DOM. This item gives us access to the .NET Framework to accomplish it. Harnessing ScriptableMember items in this power from JavaScript involves four simple steps: Class Hosted within Silverlight Application ScriptableType elements. 1. Mark the method, property, or event with the [ScriptableType] ScriptableMember attribute. public class MyClass 2. Tag the class that holds the item from step 1 with { the ScriptableType attribute. public MyClass() { 3. Create the bridge between the class instance and HtmlPage.RegisterScriptableObject(quot;bridgequot;, this); the HTML DOM with the RegisterScriptableObject } class. 4. The RegisterScriptableObject method exposes a [ScriptableMember] class instance to the scripting world. This object 4. Call the item from step 1 from JavaScript. will be exposed using the handle you pass as the public string GetDateTime() first parameter. In this case, the handle is “bridge”. These four steps outline the process of exposing { managed code to the scripting world. To demonstrate DateTime currentTime = DateTime.Now; how this looks with actual code, we will call a C# method return currentTime.ToString(); that returns the current date and time. This date and } time will then be printed within an alert prompt. } This example demonstrates how to call managed code from Framework provided by Silverlight, this task is a cinch. You JavaScript. This approach lets us use the .NET Framework in can use the feature we just learned about to either enhance, Silverlight to perform tasks that are traditionally difficult or or replace, some current functionality written in JavaScript. annoying in JavaScript. For instance, consider the task of However, in order to truly replace that functionality, you will parsing XML in JavaScript. This task is quite cumbersome probably need to know how to manage the HTML DOM from with ECMA JavaScript. However, with the powerful .NET managed code. USING MANAGED CODE TO MANAGE THE HTML DOM Silverlight gives us the flexibility to manage the HTML DOM when you consider coupling this with the ability to call managed from managed code. This means you can alter HTML elements code from JavaScript, you can see a powerful combination. using a language such as C# or Visual Basic. These languages This powerful combination is glued together by three classes: offer features such as compile-time type-checking and richer HtmlPage, HtmlDocument, and HtmlElement. IntelliSense support through Microsoft Visual Studio. Either way, → DZone, Inc. | www.dzone.com
  • 3. 3 Silverlight 2 tech facts at your fingertips Using Managed Code to Manage the HTML DOM, Finding HTML Elements continued Searching for HTML elements from managed code is an The HtmlPage class is the core element to use when working important part of taking advantage of the HTML DOM API. with the HTML DOM. This statically visible class exposes a We can traverse through the hierarchy of a web page using variety of properties that give you access to the key items of the DocumentElement, Children, and Parent properties a web page. These properties are listed and described in the mentioned earlier. However, the HtmlDocument class exposes following table. two methods that empower us to retrieve HtmlElement items more efficiently. These methods are listed and described in Property Description the following table. BrowserInformation Gives us access to the user’s browser information. Document This is an HtmlDocument object that represents a web Property Description page. This specific property represents the web page hosting the calling Silverlight application. GetElementById Empowers us to find any element within an HtmlDocument by referencing its unique identifier. Plugin This is an HtmlElement that represents the HTML element If the element is found, an object-oriented version of that is hosting the running Silverlight application. the element, known as an HtmlElement, is returned. If the element is not found, null will be returned. Window Gives us access to the user’s browser window. This will be demonstrated shortly. GetElementsByTagName Finds all of the elements with a specified tag name. The results are returned as a collection of The properties listed in the previous table serve as entry points HtmlElement items. into the HTML world. The main entry point we will use in this section is provided through the Document property. This The previous table shows the two methods that can be property is an HtmlDocument object which in turn gives us two used to find items within a web page. To demonstrate how properties that serve as entry points into a web page. These to find an individual item, please look at the following properties are listed and described in the following table. code sample: HtmlDocument document = HtmlPage.Document; Property Description DocumentElement This property represents the root element of the HTML HtmlElement myHtmlElement = DOM. Because of this, it always represents the “HTML” document.GetElementById(quot;myHtmlElementquot;); element of a web page. Body This property gives us immediate access to the contents of This element was assumed to be named “myHtmlElement”. the “BODY” element of a web page. This name needs to be the id of an element within the host- ing web page. Once we have retrieved the element though, Both of the elements listed in the previous table are actually we can actually set any of the properties that define it. HtmlElement objects. An HtmlElement is an in-memory representation of an HTML element. This means that if you Setting Element Properties have an input tag or span element in HTML, they will both be The HtmlElement class exposes an all-purpose method represented as HtmlElement objects in managed code. This called SetProperty. This method empowers us to set an ele- gives us the ability to work with common, useful properties from ment’s attribute from managed code. To accomplish this, we managed code. These properties are listed in the following table. must use two string parameters: Property Description n The first parameter is a string that represents the name of Children A collection of HtmlElement items that are hosted by the the property to set. current HtmlElement. n The second parameter is a string that represents the value CssClass The name of the CSS (Cascading Style Sheet) class in use by to set to the property. the HtmlElement. Id The unique identifier of the HtmlElement. This is demonstrated in the following code sample: Parent The HtmlElement that hosts the calling item. If the calling HtmlDocument document = HtmlPage.Document; item is the DocumentElement, this value will be null. TagName The name of the tag used by the HtmlElement. HtmlElement myHtmlElement = document.GetElementById(quot;myHtmlElementquot;); The properties in the previous table define an HtmlElement. myHtmlElement.SetProperty(quot;innerTextquot;, quot;Hello, HTMLquot;); An HtmlElement is a critical component of an HtmlDocument object. This object is accessible through the statically visible This code sample sets the innerText property of an imaginary HtmlPage class. With this class in hand we can perform a HTML element to “Hello, HTML”. Essentially, imagine setting number of valuable tasks. Not the least of which include: the text of a span named “myHtmlElement” to “Hello, World”. finding HTML elements, setting element properties, setting This is what the code sample accomplishes. Significantly, this CSS information, and managing state information. approach is applicable to any element in a web page. Be aware of what values you pass to the SetProperty method. For instance, it doesn’t make sense to set the Hot Tip “checked” property on a select tag (the select element doesn’t have a “checked” property, but a check box does). However, with the flexibility of CSS, we do not have to be as careful when setting CSS information. DZone, Inc. | www.dzone.com
  • 4. 4 Silverlight 2 tech facts at your fingertips Setting CSS Information CALLING JAVASCRIPT FROM MANAGED CODE In addition to setting properties, we can also set an HTML element’s style information from managed code. This can Calling JavaScript from managed code is especially useful if be accomplished by using the SetStyleAttribute method. you are attempting to integrate Silverlight into a pre-existing This method takes two string parameters: web application. For instance, let’s pretend you have a n The first parameter specifies the CSS property we want to set. JavaScript function called “myJSFunction”. You could call n The second parameter signals the value we want to set the this JavaScript function from managed code using the Invoke property to. method as shown here: This approach is demonstrated on a fictional span in the HtmlWindow window = HtmlPage.Window; following sample: window.Invoke(quot;myJSFunctionquot;, new object[]{}); HtmlDocument document = HtmlPage.Document; The Invoke method takes two parameters: HtmlElement myHtmlElement = n The first parameter is the name of the JavaScript function to document.GetElementById(quot;myHtmlElementquot;); execute. Notice that this value does not include the opening myHtmlElement.SetStyleAttribute(quot;colorquot;, quot;greenquot;); and closing parenthesis associated with a function call. n The second parameter is an object array that stores the parameters to pass to the function. Thus, if “myJSFunction” When setting style attributes from managed expected the date and time as parameters, you could pass Hot code, you must use the scripting naming ap- them using the following: Tip proach instead of the CSS naming approach to This approach is demonstrated on a fictional span in the reference a style attribute. For instance, if you following sample: wanted to set the background color of an HTML HtmlWindow window = HtmlPage.Window; element, you would need to use ‘background- window.Invoke(quot;myJSFunctionquot;, Color’ instead of ‘background-color’. new object[] {DateTime.Now.Date, DateTime.Now.TimeOfDay}); This basic code sample changes the text color of an assumed After the JavaScript function has been invoked, the result span to green. This demonstrates how to set the CSS infor- will be returned back to the managed code. The result will mation of an HtmlElement. This object also allows us to set be available as an object. This gives you the flexibility to the properties that separate it from other elements in a web interact with any existing JavaScript function. page. This web page is represented as an HtmlDocument . This web page may have information that is specific to the current request. For instance, the web page may display Silverlight does not have a print feature built-in. information specific to an individual customer or order. Hot However, if you need to print the contents of These types of situations are often times exposed through Tip a screen, you can use the browser window's state variables. built-in print function. This can be accomplished Managing State Variables from managed code by using the following: State variables allow you to store information across page post HtmlWindow window = HtmlPage.Window; backs. While Silverlight is a client-side platform that helps to window.Invoke(quot;printquot;, new object[]{}); alleviate post backs, you may still run into them. The reason why is simply because a Silverlight application is hosted within a web page. Either way, you can read state-related information ACCESSING THE USER’S BROwSER wINDOw through the two properties shown in the following table. Silverlight gives us the flexibility to work with a user’s browser Property Description window through the HtmlWindow class. An instance of this Cookies A string that gives you the ability to manage the cookies associated with a page. class can be obtained from the statically visible Window property of an HtmlPage. Once retrieved, we can use this QueryString A dictionary of the key/value pairs associated with a page’s query string. object to navigate the user to another location. Alternatively, we can actually use the browser window to display some The two properties shown in the previous table are part valuable prompts to a user. of the HtmlDocument class. These two properties can be very useful in integration scenarios. In addition, these types Navigating the Browser of scenarios may have pre-existing JavaScript that can be Navigating the browser window is an important part of used. Fortunately, Silverlight gives you the flexibility to call the hyperlinked world of the internet. Because of this, the JavaScript from managed code. HtmlWindow class exposes two methods to address navigation: DZone, Inc. | www.dzone.com
  • 5. 5 Silverlight 2 tech facts at your fingertips Accessing the User’s Browser Window, continued Collecting Browser Information n One method is designed to be used with a location within As a web developer, you may have witnessed how HTML the current page. content sometimes renders differently on different browsers n The other method is intended to be used to go to other and platforms. However, Silverlight content is designed to locations on the internet. render consistently across different browsers and platforms. But, if you are editing the HTML DOM through Silverlight, Either way, both of these methods are described in the you will still need to take these browser differences into following table: consideration. Fortunately, the BrowserInformation class gives Method Description us access to this information through the following properties. Navigate(…) This method will redirect the browser window to the provided URI. This URI can be loaded in an optional target Property Description window. The specifications of this target window can be set via an optional third parameter. The name and specification BrowserVersion Stores the major, minor, build, and revision information of a of the target window parameters match those used by the browser. This information is available as a System.Version HTML DOM window.open function. class instance. NavigateToBookmark(…) This method is used to navigate to a location within the CookiesEnabled A bool value that retrieves whether or not the user has enabled current HTML page. This location must be defined by an anchor tag with the web page. cookies in their browser. Name The name of the browser that the user is using (i.e. “Microsoft The two methods listed in the previous table ensure that your Internet Explorer” or “Netscape”). Silverlight application isn’t isolated. In order to escape from Platform A string that identifies the operating system the user is using an island of isolation, you can use the following code to go to (i.e. “Win32”). another page on the internet. UserAgent The value of the user-agent header that will be sent from the browser to the server. Uri uri = With these properties, you can easily account for differences new Uri(quot;http://www.manning.com/affiliate/ between browsers. For instance, absolutely positioning an idevaffiliate.php?id=513_100quot;); element in an HTML page is a common pain point across HtmlWindow window = HtmlPage.Window; browsers. To do this from Silverlight, you can do something window.Navigate(uri, quot;_blankquot;); like the following: This code sample will open a web page in a new browser window. // Retrieve an html element In addition to performing basic navigation though, we can also HtmlDocument document = HtmlPage.Document; use the browser to display prompts. HtmlElement element = document.GetElementById Prompting the User (quot;myHtmlElementquot;); The HtmlWindow class gives us the ability to provide prompts through the user's browser window. These prompts are listed // Absolutely position it based on the browser and described in the following table. BrowserInformation bi = HtmlPage.BrowserInformation; if (bi.Name == quot;Internet Explorerquot;) Method Description element.SetStyleAttribute(quot;topquot;, quot;300pxquot;); Alert(…) Shows a single message in an HTML alert window. else Confirm(…) Prompts the user to agree or disagree with a statement or question. This prompt displays two buttons: OK and Cancel. element.SetStyleAttribute(quot;topquot;, quot;305pxquot;); The text of these buttons cannot be customized. If a user selects OK, this method will return true. However, if a user As you can imagine, the BrowserInformation class is an selects Cancel, this method will return false. important part of working with the HTML DOM. Perhaps an Prompt(…) Creates a dialog window that displays a single message. In addition, this dialog displays a single text box that the user can even more powerful part of the HTML DOM API though is the enter information into. If the user selects the OK button from HtmlWindow. This API also allows you to manage the HTML this dialog window, the value of that text box will be returned as a string. Otherwise, if a user selects Cancel or exits the DOM from managed code. On the contrary, you can expose window, null will be returned. your managed code to the HTML DOM. No matter the direction you want to go, Silverlight can help you get there. You can find The prompt options shown may be familiar to you. They mimic out more about the incredibly powerful Silverlight platform in the prompt options found in the HTML DOM Window object. the book Silverlight 2 in Action. Either way, in order to deliver a prompt from C#, you can use code like the following: Be careful when using the Navigate method. HtmlWindow window = HtmlPage.Window; window.Alert(DateTime.Now.ToString()); Hot If you redirect your user away from the current Tip web page in the current browser window, your This code snippet simply displays the current date and time to Silverlight application will be unloaded. This may the user. That’s all there is to it. These kinds of prompts are a valu- not be what you have intended. Because of this, you may able part of the browser environment. Equally valuable and useful want to consider using the “blank” value as the target window. though is the information associated with the browser itself. DZone, Inc. | www.dzone.com
  • 6. 6 Silverlight 2 tech facts at your fingertips RESOURCES Resource URL Resource URL Experience Silverlight http://silverlight.net/Showcase/ Stay Connected http://silverlight.net/blogs/community/rss.aspx with Silverlight: Get Started with Silverlight http://silverlight.net/GetStarted/ http://feeds.feedburner.com/JesseLiberty-SilverlightGeek Popular Silverlight RSS Feeds http://feeds.timheuer.com/timheuer Go Deeper with Silverlight: Silverlight http://books.dzone.com/books/silverlight 2 in Action by Chad Campbell and John Stockton ABOUT THE AUTHOR RECOMMENDED BOOK Chad A. Campbell Silverlight 2 in Action is the Chad Campbell is a Microsoft MVP and solutions architect. He has been first book to cover Silverlight developing enterprise-level web applications with a wide variety of tech- 2, a far more robust imple- nologies since 1999. Beginning with the initial public release of what would mentation of Silverlight than become Silverlight in 2006, Chad hit the ground running and has not looked the current 1 release that back. He holds MCSD and MCTS certifications. In addition, Chad has a BS supports only JavaScript. The degree from Purdue University where he focused his studies on computer much-anticipated 2 release science and minored in psychology. adds powerful new features along with the ability to code Publication in multiple languages and integrate your work with Silverlight 2 in Action (Manning) Visual Studio and the new Expression suite of tools. Blog http://cornucopia30.blogspot.com/ BUY NOw Twitter Feed books.dzone.com/books/silverlight http://twitter.com/chadcampbell Want More? Download Now. Subscribe at refcardz.com Upcoming Refcardz: Available: FREE n C# Published June 2008 n GlassFish n jQuerySelectors Application Server n Design Patterns n RSS and Atom n Flexible Rails: Flex 3 on Rails 2 n Apache Struts 2 Published May 2008 n NetBeans IDE 6 n Windows PowerShell Getting Java Editor n Dependency Injection in EJB 3 Started n Groovy with Ajax Published April 2008 Published GWT Style, n IntelliJ IDEA n Spring Configuration April 2008 Configuration n Getting Started with Eclipse and JSNI Reference Published April 2008 DZone, Inc. 1251 NW Maynard ISBN-13: 978-1-934238-11-0 Cary, NC 27513 ISBN-10: 1-934238-11-2 50795 888.678.0399 DZone communities deliver over 3.5 million pages per month to 919.678.0300 more than 1.5 million software developers, architects and designers. Refcardz Feedback Welcome DZone offers something for every developer, including news, refcardz@dzone.com $7.95 tutorials, blogs, cheatsheets, feature articles, source code and more. Sponsorship Opportunities 9 781934 238110 “DZone is a developer’s dream,” says PC Magazine. sales@dzone.com Version 1.0 Copyright © 2008 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Reference: Silverlight 2 in Action, Chad Campbell and John Stockon, Manning Publications MEAP Release October 2007.