XAML Learning Guide: Resources from Microsoft

This section of the XAML Learning Guide links to a helpful tutorial from Microsoft's .NET Framework Developer Center.


   XAML Quick Start
   XAML Articles and blog entries
   Microsoft's XAML Resources
   XAML Book Excerpts and Webcasts
   XAML Development Tools
   XAML Forums and Community

Microsoft's XAML Resources

Microsoft's .NET Framework Developer Center offers a 13-part tutorial on XAML programming. It covers topics such as custom classes, namespace mapping and inline styles and templates. Links to the individual parts of the series appear below; click here to visit the tutorial's table of contents. Once finished here, the next section of the XAML Learning Guide offers a selection of multimedia resources.

XAML Overview
As the title indicates, this is an overview. Nonetheless, it covers a lot of ground -- object elements, property element syntax, XAML collection properties, base classes, security and much more.

XAML Syntax Terminology
This article offers tips for properly constructing XAML code. It covers scenarios such as attribute syntax, property element syntax, attached properties and markup extensions.

Code-Behind and XAML
In XAML, code-behind is that code which is added to the code created when a XAML page is compiled. This brief article explains how to write event handlers and partial classes that will play well with code-behind.

XAML and Custom Classes
Part of XAML's extensibility is its ability to access custom classes written in any CLR-based language as mere XAML markup. This article provides some hints for creating custom classes and making them reusable CLR events.

Markup Extensions and XAML
A program can be referred to as a XAML reader if, well, it can read XAML and produce the classes that lie beneath. If your XAML code has some non-default properties, then you will need some markup extensions to provide values for those properties. This article discusses the art of the markup extension.

XAML Namespaces and Namespace Mapping
Within each XAML file, there are two namespace mapping declarations; one goes to WPF, the other goes to XAML and is distinguished by an x: prefix. It is entirely possible, as this article indicates, to map a namespace to a custom class or an assembly.

WPF Namescopes
Namescopes are the objects in which XAML-defined object names and their instance equivalents are stored. This article explains how namescopes work in loaded XAML applications, in styles and templates, and in relation to name-related APIs.

Inline Styles and Templates
Style and template objects define the visual elements that you intend to use many, many times within a Windows Presentation Foundation. This short article points out the two ways style and template properties can be set.

White space Processing in XAML
There are certain rules that dictate how a XAML reader can process large areas of white space. This article explains the five white space normalization rules and how they are applied within a XAML reader.

TypeConverters and XAML
The introduction of this article puts it best: "If you write a custom class, and you want instances of your class to be usable as XAML settable attribute, you might need to apply a TypeConverterAttribute to your class, write a custom TypeConverter class, or both."

XAML Namespace (x:) Language Features
This article is its own 19-part series that covers, among other things, shared attributes, characters entities and the FieldModifier attribute.

WPF Namespace XAML Extensions
This article, too, is its own 10-part series. It takes a look at markup extensions such as ComponentResourceKey, ThemeDictionary and TemplateBinding.

Markup Compatibility (mc:) Language Features
Finally, this article looks at two features of the mc: namespace -- the Ignorable attribute and the ProcessContent attribute.

*** Go on to the next section of the XAML Learning Guide: XAML Book Excerpts and Webcasts

Dig Deeper on .NET Framework development with XML and XAML

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.