Silverlight 2 End to End Tutorial: Building a Digg Search Client

To help people come up to speed with Silverlight 2, I've written a simple Silverlight application and put together a series of step by step tutorials that explain the different programming concepts behind it (controls, layout management, networking, data-binding, styles, user controls, templates, etc). I also added a tutorial post that demonstrates how to migrate the application outside of the browser and enable it to run as a desktop application using WPF and the full .NET Framework. 

Below are the pointers to the 8 tutorials I've put together:

The application I've built the tutorials around is a simple search front end to the popular Digg.com site, and allows users to type in search topics and browse Digg stories that match them. 

    <Download Code> Click here to download a completed version of the Digg client sample. </Download Code>

All of the UI in the application is built using Silverlight's built-in WPF UI framework.  The application uses the Silverlight networking stack and cross-domain access support to query the Digg REST API directly, and uses LINQ and LINQ to XML to query/transform the returned data into DiggStory objects that I databind the UI against:

The application supports a master/details data interaction model that allows users to select stories from the search list and quickly drill into more details about them.  A user can jump to the Digg article directly from the details form, or close it and pick another story to drill into:

The entire application is implemented in about 35 lines of C# code and 75 lines of XAML page/user-control markup.  It only uses controls and libraries built-into Silverlight.

    <Download Code> Click here to download a completed version of the Digg client sample. </Download Code>

If you have used WPF before the UI concepts I discuss in the tutorial series will all be very familiar.  If you haven't used WPF before, the tutorials should provide a good overview of the fundamental programming concepts in it, and hopefully provide you with the basic knowledge necessary to start building either Silverlight 2 or WPF applications.

Hope this helps,

Scott

Published Sunday, October 12, 2008 4:18 PM by ScottGu

Comments

# Chris &amp; Nico &raquo; Blog Archive &raquo; Microsoft publie la version finale de Silverlight 2

Pingback from  Chris &amp; Nico  &raquo; Blog Archive   &raquo; Microsoft publie la version finale de Silverlight 2

# Silverlight 2 Released

Tuesday, October 14, 2008 6:45 AM by Microsoft Weblogs

Today we shipped the final release of Silverlight 2.&#160; You can download Silverlight 2, as well the

# Silverlight 2 is Now Available

Tuesday, October 14, 2008 10:42 AM by Springboard from mortarboard to onboard

digg_url = "blogs.msdn.com/.../silverlight-2-is-now-available.aspx";digg_title

# &raquo; Silverlight 2.0 Is Out And About mylifeinaminute.com: You can learn a lot in a minute

Pingback from  &raquo; Silverlight 2.0 Is Out And About mylifeinaminute.com: You can learn a lot in a minute

# Liberado Silverlight 2.0 &laquo; WillyXoft

Tuesday, October 14, 2008 3:00 PM by Liberado Silverlight 2.0 « WillyXoft

Pingback from  Liberado Silverlight 2.0 &laquo; WillyXoft

# Silverlight 2 - Finally a version that can change the world!

Wednesday, October 15, 2008 9:10 AM by Joel Varty

Yes, folks - that title is not a joke.&#160; Silverlight can completely change how we think about the

# Silverlight 2 released | Rajeesh's Blog

Wednesday, October 15, 2008 11:47 AM by Silverlight 2 released | Rajeesh's Blog

Pingback from  Silverlight 2 released | Rajeesh's Blog

# eclipse4SL - Architecture Series – Pure or Mixed configuration

Wednesday, October 15, 2008 7:03 PM by A Cup of Silverlight, RIA & Interoperability

This is the first article in an Architecture Series dealing with technical options taken for the Eclipse

# Silverlight 2 Released

Friday, October 17, 2008 7:11 AM by Alex Krakovetskiy's blog

Коротко зупинюсь на основних моментах. Скачати Silverlight 2, Visual Studio 2008, Expression Blend 2

# FeaturePics API Demo - Silverlight Update

Sunday, October 19, 2008 4:30 AM by EnerMeter

FeaturePics API Demo - Silverlight Update

# Silverlight Resources

Monday, October 20, 2008 4:27 PM by Khurram Aziz

It is a Wiki-Like-Page listing Silverlight Resources for beginners (like me), I will keep it updated as more such resources are discovered or told by community, peers and buddies

# Silverlight 2 Watermarked TextBox Control

Wednesday, October 22, 2008 11:21 AM by Method ~ of ~ failed by Tim Heuer

Silverlight 2 Watermarked TextBox Control

# Silverlight 2 Watermarked TextBox Control

Wednesday, October 22, 2008 11:32 AM by Tim Heuer

In the early days of Silverlight 2, one of the included controls was the WatermarkedTextBox . In Beta

# Le Coach Silverlight 2 mise à jour pour la version RTW

Friday, October 24, 2008 2:22 AM by Pierre Lagarde, Blog

Le coach en français sur Silverlight 2 en 7 ateliers viennent d’être mise à jour pour la version finale

# Silverlight 2 End to End Tutorial

Monday, October 27, 2008 2:11 AM by Silverlight 2 End to End Tutorial

Pingback from  Silverlight 2 End to End Tutorial

# Silverlight 2 – End to end tutorial

Monday, October 27, 2008 7:30 AM by Czech MSDN Blog

Nedávno uveřejnil Scott Guthrie na svém blogu ( http://weblogs.asp.net/scottgu ) tutorial popisující

# Silverlight 2 links &laquo; SCIP.be Weblog

Monday, November 03, 2008 2:29 PM by Silverlight 2 links « SCIP.be Weblog

Pingback from  Silverlight 2 links &laquo; SCIP.be Weblog

# Learn Silverlight 2 from scratch

Wednesday, November 05, 2008 1:35 PM by Dan Liu

Q: Why should I use Silverlight 2? A: Nowadays Internet provides an invaluable platform for people to

# DevConnections 2008 Day1 &laquo; CJ Wang&#8217;s Blog

Tuesday, November 11, 2008 1:15 PM by DevConnections 2008 Day1 « CJ Wang’s Blog

Pingback from  DevConnections 2008 Day1 &laquo; CJ Wang&#8217;s Blog

# Styling a Silverlight Twitter Application with Expression Blend 2

Friday, November 14, 2008 5:15 AM by ScottGu's Blog

Silverlight 2 provides a rich platform for building cross-browser/cross-platform RIA applications.&#160;

# How to build your own Digg Client in SIlverlight 2

Monday, November 17, 2008 4:59 AM by DotNetKicks.com

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# re: Silverlight 2 End to End Tutorial: Building a Digg Search Client

Tuesday, November 18, 2008 8:36 AM by John Bill

This is a really great tutorial, I've learnt a lot!

Thank you very much!

# Silverlight Travel &raquo; Designer braucht das Land

Thursday, November 20, 2008 12:15 AM by Silverlight Travel » Designer braucht das Land

Pingback from  Silverlight Travel &raquo; Designer braucht das Land

# La Liga Silverlight &raquo; Comenzando

Friday, November 21, 2008 5:18 PM by La Liga Silverlight » Comenzando

Pingback from  La Liga Silverlight &raquo; Comenzando

# Xaml Parse Exception

Sunday, November 30, 2008 10:40 PM by Catherine Eibner

I have been playing around with some great tutorials on Silverlight/WPF and calling external API’s for

# Xaml Parse Exception | Programmer's Edge

Tuesday, December 02, 2008 1:56 AM by Xaml Parse Exception | Programmer's Edge

Pingback from  Xaml Parse Exception | Programmer's Edge

# Create a LINQ/WCF/Silverlight application in 10 simple steps.

Thursday, December 18, 2008 10:41 AM by Common tips and tricks from a SQL Developer Support perspective

Ok, today I will show how to create a super simple application that uses some of the new stuff you find

# Silverlight on CRM: You are only limited by your imagination! | Programmer's Edge

Pingback from  Silverlight on CRM: You are only limited by your imagination! | Programmer's Edge

# XAML - Direto ao ponto !

Thursday, January 08, 2009 4:11 PM by Fernando Vezzali - MCTS Web 2.0

1) O que significa a sigla ? e X tensible A pplication M arkup L anguage 2) O que é ? Um arquivo XML

# The valley of continuous learning

Thursday, February 19, 2009 11:32 AM by Louis Salin's Blog

Continuous learning is hard. Constantly maintaining a learning curve that you need to climb, only to

# ScottGu: Silverlight 2 RTW发布了

Friday, March 06, 2009 4:26 AM by Felix Wang | Evangelizing the Next Web

【原文地址】 Silverlight 2 Released | Silverlight 2发布了 【原文发表日期】 Tuesday, October 14, 2008 3:07 AM 今天我们发布了Silverlight

# using silverlight with linq? - bytes

Monday, March 09, 2009 12:47 AM by using silverlight with linq? - bytes

Pingback from  using silverlight with linq? - bytes

# Silverlight ?????????????????? | NextPage???

Wednesday, March 25, 2009 11:41 AM by Silverlight ?????????????????? | NextPage???

Pingback from  Silverlight ?????????????????? | NextPage???

# Silverlight &laquo; David Gray Wright

Wednesday, April 15, 2009 7:36 PM by Silverlight « David Gray Wright

Pingback from  Silverlight &laquo; David Gray Wright

# Microsoft publie la version finale de Silverlight 2 | ChristopherManeu - My Developer Blog

Pingback from  Microsoft publie la version finale de Silverlight 2 | ChristopherManeu - My Developer Blog

# [MIC ITB] Proyek SilverLight Pertamaku: Game Memory Sederhana [Part 1]

Friday, June 19, 2009 1:57 PM by katulsomin

Baru kemarin, saya blank total masalah SilverLight. Pengen belajar, dan untuk saya cara tercepat untuk

# Silverlight 101 &laquo; David Gray Wright

Wednesday, July 08, 2009 7:42 PM by Silverlight 101 « David Gray Wright

Pingback from  Silverlight 101 &laquo; David Gray Wright

# Pasos para comenzar a desarrollar Aplicaciones Silverlight 3 &laquo; La Ranita Inform??tica

Pingback from  Pasos para comenzar a desarrollar Aplicaciones Silverlight 3 &laquo; La Ranita Inform??tica

# Getting Started with Silverlight development

Tuesday, October 06, 2009 1:18 PM by Method ~ of ~ failed by Tim Heuer

Getting Started with Silverlight development

# Getting Started with Silverlight development

Tuesday, October 06, 2009 2:32 PM by Tim Heuer

Over time a few people have contacted me about the missing WatermarkedTextbox from Scott Guthrie ’s Digg

# ??????????????? ????????? ???????????? ???????????????: TemplatePart??? TemplateVisualState??? ?????? ????????????? : (defun world() &#8216;hello world)

Pingback from  ??????????????? ????????? ???????????? ???????????????: TemplatePart??? TemplateVisualState??? ?????? ????????????? : (defun world()  &#8216;hello world)

# Getting Started with Silverlight development

Friday, November 06, 2009 3:47 PM by RIA Services

Over time a few people have contacted me about the missing WatermarkedTextbox from Scott Guthrie ’s Digg

# ozone intense reductions article middle

Thursday, November 19, 2009 4:19 AM by ozone intense reductions article middle

small costs reducing increase fossil yields anthropogenic

# How I got up to speed with Silverlight

Friday, November 20, 2009 10:44 PM by How I got up to speed with Silverlight

Pingback from  How I got up to speed with Silverlight