SlideShare a Scribd company logo
1 of 45
Download to read offline
MSDN Events
Autumn, 2008


Silverlight 2.0 Beta 2
A developer overview
What Will We cover?

• Where did Silverlight come from and what can it really do
• What is XAML and how does it aid in UI authoring
• What controls ship with Silverlight and how can they be
  styled and data-bound
• What functionality is available in the Silverlight Base
  Class Library
Helpful Tools/Downloads

• Visual Studio 2008
• Silverlight 2 Beta 2 Runtime
• Microsoft Silverlight Tools for Beta 2 for VS2008

• Other useful stuff
   –   Silverlight Beta 2 SDK (installed with tools install)
   –   Expression Studio 2
   –   Deep Zoom Composer
   –   Silverlight 2 Controls Source Code + Unit Tests
Agenda

•   Introduction to Silverlight
•   XAML
•   Controls
•   Base Class Library
Silverlight

• Formerly known as quot;WPF/Equot;
• Microsoft's platform for rich, highly interactive Web
  experiences and RIAs
   – Cross-platform (browsers and OSes)
       • Windows, Mac OS, Linux (quot;Moonlightquot;)
       • Internet Explorer, Firefox, Safari, and more
   – XAML-based rendering (subset of WPF XAML)
• Implemented as browser plug-in
   – Quick, easy install experience
Versions

• Silverlight 1.0
   – Shipped September 2007
   – XAML rendering and JavaScript API
• Silverlight 2
   – Beta 2 currently available
   – XAML, .NET Framework, managed code, dynamic languages
     (e.g., IronRuby)
   – Ships in 2008
Silverlight Architecture
The Silverlight 2 CLR (quot;CoreCLRquot;)

• Refactored version of full-size CLR
   – Same core type system, JIT compiler, etc.
   – COM interop, remoting, binary serialization, server GC, and
     other features removed
   – CAS replaced with transparency model
   – Multiple CLR instances per process supported
   – Most globalization support pushed down to OS
   – Dynamic Language Runtime (DLR) added
• Small footprint (< 2MB), cross-platform
Core Base Class Library
                                 System.Windows
                                 System.Windows.Controls
                                 System.Windows.Input
                                 System.Windows.Interop
System                           System.Windows.Media
System.Collections               System.Windows.Shapes
System.Collections.Generic       System.Windows.Threading
System.Diagnostics
System.Globalization
System.IO
System.IO.-
 IsolatedStorage
System.Ref lection
                                                             System.Windows.Browser
System.Security
System.Security.Cryptography
System.Text
System.Threading




                                                             System.Linq
                                                             System.Linq.Expressions
                                                             System.Runtime.CompilerServices
                                                             System.Security.Cryptography
System
System.Collections.Generic
System.ComponentModel             System.Xml
System.Diagnostics                System.XmlSchema
System.Text.RegularExpressions    System.Xml.Serialization
Silverlight 2 Project Structure

 Web project
 generated by Visual          XAP file containing
 Studio for testing and       application assembly,
 debugging                    library assemblies, and
                              resources

                              HTML test page


 Main project
                              XAML file containing
                              global (application)
                              resources and event
                              handlers

                              XAML file containing
                              quot;pagequot; seen by user
Instantiating the Silverlight Control

   OBJECT tag


                                          Control DOM ID
<object id=quot;SilverlightControlquot;
  data=quot;data:application/x-silverlightquot;   MIME type
  type=quot;application/x-silverlight-2-b2quot;
                                          Control version
  width=quot;100%quot; height=quot;100%quot;>
  <param name=quot;sourcequot;                    Width and height
    value=quot;ClientBin/SilverLife.xapquot; />
</object>                                 XAP file containing
                                          application assembly,
                                          resources, etc.

            Application package
XAML

<Canvas Width=quot;300quot; Height=quot;300quot;
  xmlns=quot;http://schemas.microsoft.com/client/2007quot;
  xmlns:x=quot;http://schemas.microsoft.com/winfx/2006/xamlquot;>
  <Ellipse Canvas.Left=quot;20quot; Canvas.Top=quot;20quot;
    Height=quot;200quot; Width=quot;200quot;
    Stroke=quot;Blackquot; StrokeThickness=quot;10quot; Fill=quot;Yellowquot; />
  <Ellipse Canvas.Left=quot;80quot; Canvas.Top=quot;80quot;
    Height=quot;35quot; Width=quot;25quot; Stroke=quot;Blackquot; Fill=quot;Blackquot; />
  <Ellipse Canvas.Left=quot;140quot; Canvas.Top=quot;80quot;
    Height=quot;35quot; Width=quot;25quot; Stroke=quot;Blackquot; Fill=quot;Blackquot; />
  <Path Data=quot;M 70, 150 A 60, 60 0 0 0 170, 150quot;
    Stroke=quot;Blackquot; StrokeThickness=quot;15quot;
    StrokeStartLineCap=quot;Roundquot; StrokeEndLineCap=quot;Roundquot; />
</Canvas>
Events

• XAML objects fire events
   – Canvases and UI objects fire Loaded events and mouse events
     (e.g., MouseLeftButtonDown)
   – Root canvas also fires keyboard events
   – Other objects fire object-specific events
• Handlers can be registered declaratively or
  programmatically
• Mouse events quot;bubble upquot; through XAML object
  hierarchy
Hello Silverlight
What Did We Just Do?

• Created a basic Silverlight application
• Added some “Hello World” XAML
Layout

• Layout is driven by Panel objects
   – Every page has a root Grid object
   – Page can contain additional Grids or Canvases
• Panels are a containers for other UI elements
   – Grids, StackPanel, Canvas are types of panels
• All units measured in logical pixels
Shapes

• Silverlight supports six shapes

       Rectangle            Ellipse     Polygon




       Line                  PolyLine    Path
MediaElement



• Audio/video playback in a box
   – Progressive downloads and streaming
• Robust API provides basis for rich UIs
   – Play, Pause, Stop, and other methods
   – Position, Volume, and other properties
   – DownloadProgressChanged and other events
• WMV1/2/3/A/VC1, WMA, and MP3
Transforms

 TranslateTransform   RotateTransform




 SkewTransform        ScaleTransform
Animation

• Animations are created by varying properties of XAML
  objects over time
   – From/To animations vary properties linearly
   – Key-frame animations use discrete steps
• Animation objects define animations
   – DoubleAnimation[UsingKeyFrames]
   – ColorAnimation[UsingKeyFrames]
   – PointAnimation[UsingKeyFrames]
• StoryBoard objects hold animation objects
Blend Smiley Face
What Did We Just Do?

• Created a smiley face object using Expression Blend
• Applied an animation to the smiley face object
• Added some event handling to the smiley face using
  Visual Studio
Controls

• More than 20 built-in controls
   – Canvas, StackPanel, Grid, and GridSplitter
   – Button, CheckBox, HyperlinkButton, RepeatButton, RadioButton,
     and ToggleButton
   – TextBox, ListBox, and DataGrid
   – TabControl, Slider, and MultiScaleImage
   – Border, Calendar, DatePicker, and more!
• Support styles, templates, and data binding
Control Hierarchy
FrameworkElement

   Control

       ContentControl              Calendar       RangeBase

             ButtonBase            DataGrid          Slider

                 Button            DatePicker        Scrollbar

                 HyperlinkButton   GridSplitter   ItemsControl

                 RepeatButton      TextBox           ListBox

                 ToggleButton                        TabControl

                     CheckBox

                     RadioButton

             ScrollViewer
Control Hierarchy, Cont.
FrameworkElement

   Panel                     Border

       Canvas                Image

              InkPresenter   MediaElement

       Grid                  MultiScaleImage

       StackPanel            TextBlock
Control Templates

• Redefine a control’s entire visual tree
   – Perform extreme customization without changing basic behavior
     of control
   – Exposed through control's Template property (inherited from
     Control base class)
• Use {TemplateBinding} to flow property values from
  control to template
• Use ContentPresenter and ItemsPresenter to flow
  content and items to template
Styles

• Styles provide level of indirection between visual
  properties and their values
   – Define style as XAML resource
   – Apply style using {StaticResource} markup extension
• Can be scoped globally or locally
• Combine styles and templates to “stylize” controls with
  custom visual trees
Data Binding

• Permits properties of one object to be bound to
  properties of another
   – Target property must be DependencyProperty
   – Source property can be any type of property
   – Source can be a collection if target supports binding to
     collections
• {Binding} markup extension provides declarative support
  for data binding
Styled Data-bound ListBox
What Did We Just Do?

• Added a ListBox control to our XAML
• Applied a DataTemplate to the ListBox
• Data-bound our new ListBox control to a generic list of
  user objects
• Applied 2 different styles to our data-bound ListBox
DOM Integration

• System.Windows.Browser namespace contains classes
  for accessing browser DOM
   • HtmlPage, HtmlWindow, and others
• Managed -> unmanaged
   • Access DOM from managed code
   • Call JavaScript functions from managed code
• Unmanaged -> managed
   • Call managed code from JavaScript
   • Process DOM events with managed code
File I/O

• General-purpose file I/O not permitted
• OpenFileDialog can be used to open files
   – User interaction constitutes permission needed to safely open
     files
   – No SaveFileDialog yet
• Isolated storage can be used to persist data locally
  subject to quotas
   – Quote is initially set to 1MB per domain but can be increased
Networking

• Silverlight 2 has rich networking support
   – SOAP/XML Web services via WCF proxies
   – HTTP services (POX, REST, RSS, ATOM) via HttpWebRequest
     and WebClient classes
   – Socket support, asset downloads over HTTP, syndication
     classes, and more
• Cross-domain access supported using Flash-compatible
  or Silverlight XML policy files
Cross-Domain Network Calls

• Allowed if target domain has XML policy file in place
  permitting calls from other domains
   – Crossdomain.xml – Requires domain=quot;*quot; allowing calls from any
     domain
   – Clientaccesspolicy.xml – Can restrict access to certain domains
     only
• Policy file must be located at domain root
HttpWebRequest

• Delegate-based HTTP networking API
   – Supports asynchronous operation only
• Provides control over wire format
   – GET/POST/PUT/DELETE (REST)
   – Customization of HTTP headers
• Completion methods called on background threads
WebClient

• Event-based HTTP networking API
   – Commonly used to download assets
      • DownloadStringAsync - String
      • OpenReadAsync – Stream (binary)
   – Can also be used to perform uploads
• Fires progress and completion events and supports
  cancellation of pending requests
   – Event handlers execute on UI thread
Consuming RSS Data
What Did We Just Do?

•   Added a DataGrid control to our XAML
•   Opened and parsed a local XML file
•   Downloaded and parsed an RSS feed
•   Data-bound our parsed data to the added DataGrid
    control
Session Summary

• Microsoft Silverlight is a cross-browser, cross-platform,
  and cross-device plug-in for delivering the next
  generation of media experiences and rich interactive
  applications for the Web
• By using Expression Studio and Visual Studio, designers
  and developers can collaborate more effectively using
  the skills they have today to light up the Web of
  tomorrow
For More Information

• Visit MSDN at http://msdn.microsoft.com
• Visit the URLs below for additional information
   – http://silverlight.net/default.aspx
   – http://www.microsoft.com/silverlight
   – http://msdn.microsoft.com/en-us/library/bb404700(VS.95).aspx
Microsoft Press Publications




         For the latest titles, visit
www.microsoft.com/learning/books/devtools
Non-Microsoft Publications




These books can be found and purchased at
 all major book stores and online retailers
Training Resources



 For training information and availability
      www.microsoft.com/learning
RAMP-UP

  Are you ready to take your career as a developer to the next level?
  Looking for a learning experience that is designed for you?

  Join MSDN Ramp Up and Summit Your Career!
  MSDN Ramp Up is your online source that provides free training and technical resources to help take your
  development skills to the next level.

• Step-by-Step training plans to build your development skills.
• Premium technical content created by expert developers for developers.
• Access to valuable online e-learning, e-references, and virtual labs.
• 50% discount on select certification exams and 30% discount on Microsoft Press training kits.

Join Ramp Up for free today!
Go to: http://msdn.microsoft.com/rampup
Silverlight 2 For Developers

More Related Content

What's hot

Plone Interactivity
Plone InteractivityPlone Interactivity
Plone InteractivityEric Steele
 
JavaScript - Chapter 14 - Form Handling
 JavaScript - Chapter 14 - Form Handling   JavaScript - Chapter 14 - Form Handling
JavaScript - Chapter 14 - Form Handling WebStackAcademy
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government DevelopersFrank La Vigne
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event HandlingWebStackAcademy
 
Top 10 HTML5 features
Top 10 HTML5 featuresTop 10 HTML5 features
Top 10 HTML5 featuresGill Cleeren
 
ADF and JavaScript - AMIS SIG, July 2017
ADF and JavaScript - AMIS SIG, July 2017ADF and JavaScript - AMIS SIG, July 2017
ADF and JavaScript - AMIS SIG, July 2017Lucas Jellema
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1James Pearce
 
Spring Framework - Web Flow
Spring Framework - Web FlowSpring Framework - Web Flow
Spring Framework - Web FlowDzmitry Naskou
 
Javascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web AppsJavascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web Appsdnelson-cs
 
Ruby on Rails: Building Web Applications Is Fun Again!
Ruby on Rails: Building Web Applications Is Fun Again!Ruby on Rails: Building Web Applications Is Fun Again!
Ruby on Rails: Building Web Applications Is Fun Again!judofyr
 
JavaScript - Chapter 13 - Browser Object Model(BOM)
JavaScript - Chapter 13 - Browser Object Model(BOM)JavaScript - Chapter 13 - Browser Object Model(BOM)
JavaScript - Chapter 13 - Browser Object Model(BOM)WebStackAcademy
 
Getting Started with jQuery
Getting Started with jQueryGetting Started with jQuery
Getting Started with jQueryAkshay Mathur
 
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...SPTechCon
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptmartinlippert
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaRyan Cuprak
 

What's hot (20)

Plone Interactivity
Plone InteractivityPlone Interactivity
Plone Interactivity
 
JavaScript - Chapter 14 - Form Handling
 JavaScript - Chapter 14 - Form Handling   JavaScript - Chapter 14 - Form Handling
JavaScript - Chapter 14 - Form Handling
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Wpf Introduction
Wpf IntroductionWpf Introduction
Wpf Introduction
 
Copy of ajax tutorial
Copy of ajax tutorialCopy of ajax tutorial
Copy of ajax tutorial
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event Handling
 
Ajax
AjaxAjax
Ajax
 
Top 10 HTML5 features
Top 10 HTML5 featuresTop 10 HTML5 features
Top 10 HTML5 features
 
Html5
Html5Html5
Html5
 
ADF and JavaScript - AMIS SIG, July 2017
ADF and JavaScript - AMIS SIG, July 2017ADF and JavaScript - AMIS SIG, July 2017
ADF and JavaScript - AMIS SIG, July 2017
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
Building rich Single Page Applications (SPAs) for desktop, mobile, and tablet...
Building rich Single Page Applications (SPAs) for desktop, mobile, and tablet...Building rich Single Page Applications (SPAs) for desktop, mobile, and tablet...
Building rich Single Page Applications (SPAs) for desktop, mobile, and tablet...
 
Spring Framework - Web Flow
Spring Framework - Web FlowSpring Framework - Web Flow
Spring Framework - Web Flow
 
Javascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web AppsJavascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web Apps
 
Ruby on Rails: Building Web Applications Is Fun Again!
Ruby on Rails: Building Web Applications Is Fun Again!Ruby on Rails: Building Web Applications Is Fun Again!
Ruby on Rails: Building Web Applications Is Fun Again!
 
JavaScript - Chapter 13 - Browser Object Model(BOM)
JavaScript - Chapter 13 - Browser Object Model(BOM)JavaScript - Chapter 13 - Browser Object Model(BOM)
JavaScript - Chapter 13 - Browser Object Model(BOM)
 
Getting Started with jQuery
Getting Started with jQueryGetting Started with jQuery
Getting Started with jQuery
 
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS Lambda
 

Viewers also liked

Viewers also liked (6)

Office And Vsto 200
Office And Vsto 200Office And Vsto 200
Office And Vsto 200
 
Microsoft Office Applications
Microsoft Office ApplicationsMicrosoft Office Applications
Microsoft Office Applications
 
Sql 2008 For Developers
Sql 2008 For DevelopersSql 2008 For Developers
Sql 2008 For Developers
 
Michael atkinson holographic storage
Michael atkinson holographic storageMichael atkinson holographic storage
Michael atkinson holographic storage
 
1 01 Computer Components
1 01 Computer Components1 01 Computer Components
1 01 Computer Components
 
Software components
Software componentsSoftware components
Software components
 

Similar to Silverlight 2 For Developers

Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...goodfriday
 
Silverlight 2
Silverlight 2Silverlight 2
Silverlight 2Dave Bost
 
Yogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh Kushwah
 
WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2Shahzad
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshopJames Pearce
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOSfpatton
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed Aldahdooh
 
Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)goodfriday
 
Thug: a new low-interaction honeyclient
Thug: a new low-interaction honeyclientThug: a new low-interaction honeyclient
Thug: a new low-interaction honeyclientAngelo Dell'Aera
 
Session on Selenium Powertools by Unmesh Gundecha
Session on Selenium Powertools by Unmesh GundechaSession on Selenium Powertools by Unmesh Gundecha
Session on Selenium Powertools by Unmesh GundechaAgile Testing Alliance
 
Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlAbhishek Sur
 
Moving from AS3 to Flex - advantages, hazards, traps
Moving from AS3 to Flex - advantages, hazards, trapsMoving from AS3 to Flex - advantages, hazards, traps
Moving from AS3 to Flex - advantages, hazards, trapsFlorian Weil
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web appsJames Pearce
 
Silverlight Developer Introduction
Silverlight   Developer IntroductionSilverlight   Developer Introduction
Silverlight Developer IntroductionTomy Ismail
 
Designing XAML apps using Blend for Visual Studio 2013
Designing XAML apps using Blend for Visual Studio 2013Designing XAML apps using Blend for Visual Studio 2013
Designing XAML apps using Blend for Visual Studio 2013Fons Sonnemans
 
Create a mobile web app with Sencha Touch
Create a mobile web app with Sencha TouchCreate a mobile web app with Sencha Touch
Create a mobile web app with Sencha TouchJames Pearce
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4pietrobr
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and SilverlightGlen Gordon
 

Similar to Silverlight 2 For Developers (20)

Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
 
Silverlight 2
Silverlight 2Silverlight 2
Silverlight 2
 
Yogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’s
 
WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshop
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)
 
Thug: a new low-interaction honeyclient
Thug: a new low-interaction honeyclientThug: a new low-interaction honeyclient
Thug: a new low-interaction honeyclient
 
Session on Selenium Powertools by Unmesh Gundecha
Session on Selenium Powertools by Unmesh GundechaSession on Selenium Powertools by Unmesh Gundecha
Session on Selenium Powertools by Unmesh Gundecha
 
Atlas Php
Atlas PhpAtlas Php
Atlas Php
 
Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI Control
 
Moving from AS3 to Flex - advantages, hazards, traps
Moving from AS3 to Flex - advantages, hazards, trapsMoving from AS3 to Flex - advantages, hazards, traps
Moving from AS3 to Flex - advantages, hazards, traps
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web apps
 
Silverlight Developer Introduction
Silverlight   Developer IntroductionSilverlight   Developer Introduction
Silverlight Developer Introduction
 
Designing XAML apps using Blend for Visual Studio 2013
Designing XAML apps using Blend for Visual Studio 2013Designing XAML apps using Blend for Visual Studio 2013
Designing XAML apps using Blend for Visual Studio 2013
 
Create a mobile web app with Sencha Touch
Create a mobile web app with Sencha TouchCreate a mobile web app with Sencha Touch
Create a mobile web app with Sencha Touch
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4
 
Windows 8 for Web Developers
Windows 8 for Web DevelopersWindows 8 for Web Developers
Windows 8 for Web Developers
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and Silverlight
 

More from Mithun T. Dhar

Concur State of Business Travel 2016
Concur State of Business Travel 2016Concur State of Business Travel 2016
Concur State of Business Travel 2016Mithun T. Dhar
 
Seattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of TravelSeattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of TravelMithun T. Dhar
 
ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014Mithun T. Dhar
 
Concur-Evernote Conference 2014
Concur-Evernote Conference 2014Concur-Evernote Conference 2014
Concur-Evernote Conference 2014Mithun T. Dhar
 
Concur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun DharConcur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun DharMithun T. Dhar
 
Concur by the numbers...
Concur by the numbers...Concur by the numbers...
Concur by the numbers...Mithun T. Dhar
 
Session 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterSession 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterMithun T. Dhar
 
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsSession6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsMithun T. Dhar
 
Session 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan FolletteSession 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan FolletteMithun T. Dhar
 
Session4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoSession4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoMithun T. Dhar
 
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczSession 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczMithun T. Dhar
 
SharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric SwiftSharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric SwiftMithun T. Dhar
 
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101Mithun T. Dhar
 
SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)Mithun T. Dhar
 
Azure Deployment(Seattle)
Azure Deployment(Seattle)Azure Deployment(Seattle)
Azure Deployment(Seattle)Mithun T. Dhar
 
Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Mithun T. Dhar
 
Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7Mithun T. Dhar
 
Building_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and RibbonBuilding_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and RibbonMithun T. Dhar
 
Beyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location PlatformBeyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location PlatformMithun T. Dhar
 

More from Mithun T. Dhar (20)

Concur State of Business Travel 2016
Concur State of Business Travel 2016Concur State of Business Travel 2016
Concur State of Business Travel 2016
 
Seattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of TravelSeattle Technical Forum-Insights of Travel
Seattle Technical Forum-Insights of Travel
 
Concur-Ford Hackathon
Concur-Ford HackathonConcur-Ford Hackathon
Concur-Ford Hackathon
 
ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014ProgrammableWeb-API Conf-SF 2014
ProgrammableWeb-API Conf-SF 2014
 
Concur-Evernote Conference 2014
Concur-Evernote Conference 2014Concur-Evernote Conference 2014
Concur-Evernote Conference 2014
 
Concur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun DharConcur-Silicon Valley Code Camp - Mithun Dhar
Concur-Silicon Valley Code Camp - Mithun Dhar
 
Concur by the numbers...
Concur by the numbers...Concur by the numbers...
Concur by the numbers...
 
Session 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterSession 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarter
 
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfsSession6-SharePoint and Azure- steve fox-windows-and_azure_spfs
Session6-SharePoint and Azure- steve fox-windows-and_azure_spfs
 
Session 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan FolletteSession 5-SharePoint with Office-Donovan Follette
Session 5-SharePoint with Office-Donovan Follette
 
Session4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoSession4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayo
 
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczSession 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
 
SharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric SwiftSharePoint FireStarter - Session 1 - Keynote - Eric Swift
SharePoint FireStarter - Session 1 - Keynote - Eric Swift
 
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
SeattleUniv-IntroductionToCloudComputing-WinsowsAzure101
 
SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)
 
Azure Deployment(Seattle)
Azure Deployment(Seattle)Azure Deployment(Seattle)
Azure Deployment(Seattle)
 
Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101
 
Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7Taking_Your-Application_To_The_Next_Level - Windows 7
Taking_Your-Application_To_The_Next_Level - Windows 7
 
Building_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and RibbonBuilding_The_Next-Generation_UI - Multitouch and Ribbon
Building_The_Next-Generation_UI - Multitouch and Ribbon
 
Beyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location PlatformBeyond_Human_Interaction - Sensor and Location Platform
Beyond_Human_Interaction - Sensor and Location Platform
 

Recently uploaded

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 

Recently uploaded (20)

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 

Silverlight 2 For Developers

  • 1. MSDN Events Autumn, 2008 Silverlight 2.0 Beta 2 A developer overview
  • 2. What Will We cover? • Where did Silverlight come from and what can it really do • What is XAML and how does it aid in UI authoring • What controls ship with Silverlight and how can they be styled and data-bound • What functionality is available in the Silverlight Base Class Library
  • 3. Helpful Tools/Downloads • Visual Studio 2008 • Silverlight 2 Beta 2 Runtime • Microsoft Silverlight Tools for Beta 2 for VS2008 • Other useful stuff – Silverlight Beta 2 SDK (installed with tools install) – Expression Studio 2 – Deep Zoom Composer – Silverlight 2 Controls Source Code + Unit Tests
  • 4. Agenda • Introduction to Silverlight • XAML • Controls • Base Class Library
  • 5. Silverlight • Formerly known as quot;WPF/Equot; • Microsoft's platform for rich, highly interactive Web experiences and RIAs – Cross-platform (browsers and OSes) • Windows, Mac OS, Linux (quot;Moonlightquot;) • Internet Explorer, Firefox, Safari, and more – XAML-based rendering (subset of WPF XAML) • Implemented as browser plug-in – Quick, easy install experience
  • 6. Versions • Silverlight 1.0 – Shipped September 2007 – XAML rendering and JavaScript API • Silverlight 2 – Beta 2 currently available – XAML, .NET Framework, managed code, dynamic languages (e.g., IronRuby) – Ships in 2008
  • 8. The Silverlight 2 CLR (quot;CoreCLRquot;) • Refactored version of full-size CLR – Same core type system, JIT compiler, etc. – COM interop, remoting, binary serialization, server GC, and other features removed – CAS replaced with transparency model – Multiple CLR instances per process supported – Most globalization support pushed down to OS – Dynamic Language Runtime (DLR) added • Small footprint (< 2MB), cross-platform
  • 9. Core Base Class Library System.Windows System.Windows.Controls System.Windows.Input System.Windows.Interop System System.Windows.Media System.Collections System.Windows.Shapes System.Collections.Generic System.Windows.Threading System.Diagnostics System.Globalization System.IO System.IO.- IsolatedStorage System.Ref lection System.Windows.Browser System.Security System.Security.Cryptography System.Text System.Threading System.Linq System.Linq.Expressions System.Runtime.CompilerServices System.Security.Cryptography System System.Collections.Generic System.ComponentModel System.Xml System.Diagnostics System.XmlSchema System.Text.RegularExpressions System.Xml.Serialization
  • 10. Silverlight 2 Project Structure Web project generated by Visual XAP file containing Studio for testing and application assembly, debugging library assemblies, and resources HTML test page Main project XAML file containing global (application) resources and event handlers XAML file containing quot;pagequot; seen by user
  • 11. Instantiating the Silverlight Control OBJECT tag Control DOM ID <object id=quot;SilverlightControlquot; data=quot;data:application/x-silverlightquot; MIME type type=quot;application/x-silverlight-2-b2quot; Control version width=quot;100%quot; height=quot;100%quot;> <param name=quot;sourcequot; Width and height value=quot;ClientBin/SilverLife.xapquot; /> </object> XAP file containing application assembly, resources, etc. Application package
  • 12. XAML <Canvas Width=quot;300quot; Height=quot;300quot; xmlns=quot;http://schemas.microsoft.com/client/2007quot; xmlns:x=quot;http://schemas.microsoft.com/winfx/2006/xamlquot;> <Ellipse Canvas.Left=quot;20quot; Canvas.Top=quot;20quot; Height=quot;200quot; Width=quot;200quot; Stroke=quot;Blackquot; StrokeThickness=quot;10quot; Fill=quot;Yellowquot; /> <Ellipse Canvas.Left=quot;80quot; Canvas.Top=quot;80quot; Height=quot;35quot; Width=quot;25quot; Stroke=quot;Blackquot; Fill=quot;Blackquot; /> <Ellipse Canvas.Left=quot;140quot; Canvas.Top=quot;80quot; Height=quot;35quot; Width=quot;25quot; Stroke=quot;Blackquot; Fill=quot;Blackquot; /> <Path Data=quot;M 70, 150 A 60, 60 0 0 0 170, 150quot; Stroke=quot;Blackquot; StrokeThickness=quot;15quot; StrokeStartLineCap=quot;Roundquot; StrokeEndLineCap=quot;Roundquot; /> </Canvas>
  • 13. Events • XAML objects fire events – Canvases and UI objects fire Loaded events and mouse events (e.g., MouseLeftButtonDown) – Root canvas also fires keyboard events – Other objects fire object-specific events • Handlers can be registered declaratively or programmatically • Mouse events quot;bubble upquot; through XAML object hierarchy
  • 15. What Did We Just Do? • Created a basic Silverlight application • Added some “Hello World” XAML
  • 16. Layout • Layout is driven by Panel objects – Every page has a root Grid object – Page can contain additional Grids or Canvases • Panels are a containers for other UI elements – Grids, StackPanel, Canvas are types of panels • All units measured in logical pixels
  • 17. Shapes • Silverlight supports six shapes Rectangle Ellipse Polygon Line PolyLine Path
  • 18. MediaElement • Audio/video playback in a box – Progressive downloads and streaming • Robust API provides basis for rich UIs – Play, Pause, Stop, and other methods – Position, Volume, and other properties – DownloadProgressChanged and other events • WMV1/2/3/A/VC1, WMA, and MP3
  • 19. Transforms TranslateTransform RotateTransform SkewTransform ScaleTransform
  • 20. Animation • Animations are created by varying properties of XAML objects over time – From/To animations vary properties linearly – Key-frame animations use discrete steps • Animation objects define animations – DoubleAnimation[UsingKeyFrames] – ColorAnimation[UsingKeyFrames] – PointAnimation[UsingKeyFrames] • StoryBoard objects hold animation objects
  • 22. What Did We Just Do? • Created a smiley face object using Expression Blend • Applied an animation to the smiley face object • Added some event handling to the smiley face using Visual Studio
  • 23. Controls • More than 20 built-in controls – Canvas, StackPanel, Grid, and GridSplitter – Button, CheckBox, HyperlinkButton, RepeatButton, RadioButton, and ToggleButton – TextBox, ListBox, and DataGrid – TabControl, Slider, and MultiScaleImage – Border, Calendar, DatePicker, and more! • Support styles, templates, and data binding
  • 24. Control Hierarchy FrameworkElement Control ContentControl Calendar RangeBase ButtonBase DataGrid Slider Button DatePicker Scrollbar HyperlinkButton GridSplitter ItemsControl RepeatButton TextBox ListBox ToggleButton TabControl CheckBox RadioButton ScrollViewer
  • 25. Control Hierarchy, Cont. FrameworkElement Panel Border Canvas Image InkPresenter MediaElement Grid MultiScaleImage StackPanel TextBlock
  • 26. Control Templates • Redefine a control’s entire visual tree – Perform extreme customization without changing basic behavior of control – Exposed through control's Template property (inherited from Control base class) • Use {TemplateBinding} to flow property values from control to template • Use ContentPresenter and ItemsPresenter to flow content and items to template
  • 27. Styles • Styles provide level of indirection between visual properties and their values – Define style as XAML resource – Apply style using {StaticResource} markup extension • Can be scoped globally or locally • Combine styles and templates to “stylize” controls with custom visual trees
  • 28. Data Binding • Permits properties of one object to be bound to properties of another – Target property must be DependencyProperty – Source property can be any type of property – Source can be a collection if target supports binding to collections • {Binding} markup extension provides declarative support for data binding
  • 30. What Did We Just Do? • Added a ListBox control to our XAML • Applied a DataTemplate to the ListBox • Data-bound our new ListBox control to a generic list of user objects • Applied 2 different styles to our data-bound ListBox
  • 31. DOM Integration • System.Windows.Browser namespace contains classes for accessing browser DOM • HtmlPage, HtmlWindow, and others • Managed -> unmanaged • Access DOM from managed code • Call JavaScript functions from managed code • Unmanaged -> managed • Call managed code from JavaScript • Process DOM events with managed code
  • 32. File I/O • General-purpose file I/O not permitted • OpenFileDialog can be used to open files – User interaction constitutes permission needed to safely open files – No SaveFileDialog yet • Isolated storage can be used to persist data locally subject to quotas – Quote is initially set to 1MB per domain but can be increased
  • 33. Networking • Silverlight 2 has rich networking support – SOAP/XML Web services via WCF proxies – HTTP services (POX, REST, RSS, ATOM) via HttpWebRequest and WebClient classes – Socket support, asset downloads over HTTP, syndication classes, and more • Cross-domain access supported using Flash-compatible or Silverlight XML policy files
  • 34. Cross-Domain Network Calls • Allowed if target domain has XML policy file in place permitting calls from other domains – Crossdomain.xml – Requires domain=quot;*quot; allowing calls from any domain – Clientaccesspolicy.xml – Can restrict access to certain domains only • Policy file must be located at domain root
  • 35. HttpWebRequest • Delegate-based HTTP networking API – Supports asynchronous operation only • Provides control over wire format – GET/POST/PUT/DELETE (REST) – Customization of HTTP headers • Completion methods called on background threads
  • 36. WebClient • Event-based HTTP networking API – Commonly used to download assets • DownloadStringAsync - String • OpenReadAsync – Stream (binary) – Can also be used to perform uploads • Fires progress and completion events and supports cancellation of pending requests – Event handlers execute on UI thread
  • 38. What Did We Just Do? • Added a DataGrid control to our XAML • Opened and parsed a local XML file • Downloaded and parsed an RSS feed • Data-bound our parsed data to the added DataGrid control
  • 39. Session Summary • Microsoft Silverlight is a cross-browser, cross-platform, and cross-device plug-in for delivering the next generation of media experiences and rich interactive applications for the Web • By using Expression Studio and Visual Studio, designers and developers can collaborate more effectively using the skills they have today to light up the Web of tomorrow
  • 40. For More Information • Visit MSDN at http://msdn.microsoft.com • Visit the URLs below for additional information – http://silverlight.net/default.aspx – http://www.microsoft.com/silverlight – http://msdn.microsoft.com/en-us/library/bb404700(VS.95).aspx
  • 41. Microsoft Press Publications For the latest titles, visit www.microsoft.com/learning/books/devtools
  • 42. Non-Microsoft Publications These books can be found and purchased at all major book stores and online retailers
  • 43. Training Resources For training information and availability www.microsoft.com/learning
  • 44. RAMP-UP Are you ready to take your career as a developer to the next level? Looking for a learning experience that is designed for you? Join MSDN Ramp Up and Summit Your Career! MSDN Ramp Up is your online source that provides free training and technical resources to help take your development skills to the next level. • Step-by-Step training plans to build your development skills. • Premium technical content created by expert developers for developers. • Access to valuable online e-learning, e-references, and virtual labs. • 50% discount on select certification exams and 30% discount on Microsoft Press training kits. Join Ramp Up for free today! Go to: http://msdn.microsoft.com/rampup