Implementing CoverFlow in Silverlight 3

Apple’s CoverFlow interface has become popular for presenting collections of items in a highly browseable format, especially on mobile devices where real estate is limited. Thanks to the PlaneProjection class introduced in Silverlight 3, CoverFlow interfaces are now possible in Silverlight, too. I recently set out to build a control that encapsulates all the features needed to build CoverFlow interfaces…

More Fun with Silverlight 3’s WriteableBitmap

I’m currently preparing a couple of new talks for TechEd Europe, which takes place next month in Berlin. One of the talks is entitled “Cool Graphics, Hot Code: Ten Visual Effects to Make You the Envy of Your Peers.” In it, I plan to present techniques for producing eye-popping graphics and visual effects in Silverlight…

Silverlight 3’s New Client Networking Stack

One of the most useful yet little-known new features of Silverlight 3 is one that has nothing to do with UIs: a brand new networking stack called the client HTTP stack, the client networking stack, or simply the client stack. Silverlight 2 introduced rich networking to Silverlight. With classes such as WebClient and HttpWebRequest, you could…

Silverlight 3’s New and Improved Duplex Networking

One of the many cool features added to the run-time in Silverlight 2 was support for WCF duplex services. That support allowed Silverlight clients to connect to duplex services and receive asynchronous callbacks through a callback channel. This made it possible to write Silverlight apps that, for example, update stock prices in near real time as the prices change…

Custom Behaviors in Silverlight 3 and Blend 3

I’ve been spending a lot of time in Expression Blend lately. I wasn’t a huge fan of Blend 2, but Blend 3 is something I can get excited about. And one of the things that excites me is the ability to write custom behaviors. Behaviors are pieces of code that a designer can attach to…

Fun with SaveFileDialog and WriteableBitmap

I’ve been wanting to build a sample that spotlights Silverlight 3’s new SaveFileDialog, but I wanted the sample to actually do something. So I built a Silverlight app that lets you load photos, remove red eyes, and save the edited photos back to disk in PNG format. Silverlight 3’s new WriteableBitmap class provides the pixel-addressable API needed…

Ode to Wicked Code

A lot has happened since I last put pen to paper in my blog. Silverlight 3 has shipped, and I’ve been in the proverbial cone of silence while I worked with non-public builds of the product. I’ll be publishing lots of new and updated Silverlight samples in coming weeks highlighting the best new features of…

Radial Layout in Silverlight

Last week I found myself needing a Silverlight layout control that arranges its items radially so I could use it to template a ListBox. A quick Web search revealed a number of RadialPanel implementations, but none that offered the features I needed. For example, I wanted to be able to rotate the items in the…

More on Silverlight 3’s Navigation Framework

A few weeks ago, I blogged about a sample application I wrote that uses Silverlight 3’s WriteableBitmap class to draw views of the Mandelbrot set. I hadn’t used it long before I realized that it really needed Back-button support. You could drill down into the Mandelbrot set, but you couldn’t drill back out. Enabling the browser’s Back and Forward…

Silverlight 3’s New Child Windows

If you’ve worked with Silverlight 3, you may have noticed that Visual Studio’s Add New Item dialog includes an option for adding a “Silverlight Child Window” to your Silverlight project: The new child window feature makes it easy to add modal dialogs to Silverlight applications. A child window derives from the new ChildWindow class, and…

Silverlight 3’s New Style Enhancements

If I had a dollar for every time a developer has said to me “You mean a style can only be applied to an object once in Silverlight? How brain dead!” or “Why doesn’t Silverlight support BasedOn styles like WPF?”, I’d be retired on a tropical island with my own private runway and a fleet…

Silverlight 3’s New Navigation Framework

One of Silverlight 3’s prominent new features is its built-in navigation framework. This framework allows you to break your content into navigable chunks, or “pages,” that derive from the new System.Windows.Controls.Page class. Pages are addressable by URI, just like pages in a conventional Web application, and the new System.Windows.Controls.Frame class provides an API for navigating…