Look ma, no procedural code! Laszlo was there first but it's good to have competition in this area.

From joemarini.com .::. Tutorials:


The next version of the Microsoft Windows® operating system, code named "Longhorn", contains an exciting new technology called XAML, which is an acronym for the "eXtensible Application Markup Language". XAML (pronounced zam-el) allows you to specify the user interface portion of your Windows® applications using markup to represent the usual items in an application, such as controls, text, hyperlinks, images, etc. XAML itself is built on top of a technology named Avalon, which brings a compositing, vector-based rendering engine to the Windows desktop.

The implications of this are pretty profound. This type of approach makes it much easier to separate the business logic of an application from the user interface right from the beginning. It also provides a much more modular method for building applications, allowing, for example, a designer to work on the UI portion of an application while a developer creates the back-end code. That is, of course, assuming that the application even has any back-end code — there's a lot you can do in pure XAML without having to write any logic in a code-behind file. You can connect to data sources such as Web Services and XML feeds, tie UI elements directly to the data, and have them respond automatically to changes in the data and the selected element in a control.

In this example, I'm going to build a XAML-based blog reader that does exactly that, with no coding required other than the markup to create the user interface. MSDN subscribers who have Longhorn installed on their machines can download the code for this article and try it out. Here's what the application, which I've named Bloghorn, looks like when it is running under Longhorn: