Mix08 Session - Building Rich Internet Apps Using Silverlight 2

Sorry - this is very scrappy as I had the most horrendous headache and it's really difficult to type, watch, listen at the same time while being jostled by the person next to you because the room is so full... :-)

New in Silverlight 2

  • Text, Text Input
  • Controls
  • Layout
  • Styles/Templates
  • Data Binding
  • .NET Support
  • LINQ
  • XML
  • Generics
  • HTML Integration
  • plus a few others I missed...

Libraries (part of SDK get packaged with your app if referenced)

  • Dynamic Languages
  • Additional Controls
  • Linq for XML
  • XML Serialisation
  • Syndication APIs

Timescales

  • Silverlight V2 B1 (today) - non-commercial go-live
  • Silverlight V2 B2 (Q2) - go-live

In Visual Studio, a Silverlight application gets built into a xap file - zip archive - and deployed to a Web Project for testing / debugging. VS provides event handler hookup now from XAML to code behind.

Showed some simple layout, fully featured TextBox (including Japanese character support), editing, select, paste, tab between controls etc. TextBox and Button are content controls so can host, eg MediaElement. Showed video running in background of TextBox and Button and slipped by text typed into TextBox.

Cross-domain requests. Require a policy-file on the server either a Silverlight policy-file or a subset of Flash policy file syntax is also supported. Use WebClient class to perform POX request to https://catalog.video.msn.com which has the relevant policy file deployed. WebClient performs async HTTP GET. Fires event on completion and result passed through on event args.

Given the POX response, have various options to turn this into .NET objects but Linq to XML is great in this case as it allows us to query and re-shape the data very easily. Pull out all the videos in the catalog and map them to .NET objects using XDocument.

Use DataGrid to display list of videos. DataGrid is not in the core libraries but is in the SDK. If you reference the relevant assembly it will be packaged as part of your application.

Layout containers - Canvas, Grid, StackPanel, Border & Layout Extensibility

Data Binding

  • One way, two way and one time
  • Datacontext
  • Supports Value converters

List Binding

  • ItemsControl
  • DataTemplate

As per WPF.

Technorati Tags: silverlight,wpf,visual studio