Here are some excerpts from my slide deck on XAML. If you need to see the complete powerpoint, let me know and I can either mail it to you or upload it here.

If you don’t know, XAML is the new Extensible Application markup language that is part of Longhorn. If you have the PDC bits you should be able to run these. I am skipping on most of the details of the controls, probably will post that some other day.

What is XAML?

  • Pronounced as “Zammell”
  • “Extensible Application Markup Language”
  • Declarative Language
  • Elements represented in a .xaml file by tags
  • “XAML” is a collection of class objects that correspond to markup elements

Why use XAML?

  • Combination of both desktop and web worlds to an application.
  • Separation of UI and Implementation.

Highlights

  • Application object.

  • XAML pages are characteristically dynamic incorporating both procedural code and markup elements

  • All that things you can do with markup can be done with procedural code.

  • XAML applications are managed.

  • Only “pure” XAML pages need not be compiled.

Structure of a XAML File

  • Panels

  • Handles Page Layout

  • Containers for other Elements

  • Controls

  • Handles user interaction

  • Documents

  • Handles document presentation

  • Shapes

  • Handles vector graphic shapes

What are Panels?

Panels control rendering of elements and objects

  • size
  • dimensions
  • position
  • arrangement

Kind of Panels

  • Canvas

  • Area in which child elements can be explicitly positioned

  • DockPanel

  • Area in which child elements can be arranged horizontally or vertically.

  • FlowPanel

  • Used to break, wrap, and align content > length of a line

  • GridPanel

  • Defines a grid area consisting of columns and rows

  • TextPanel

  • Formats, sizes and draws text

  • Supports multiple lines of text and formats

Kind of Controls

  • Chief components of a UI and enable user interaction

  • Control Patterns

  • Simple Controls

  • Content Controls

  • Items Controls

  • Headered Items and Headeres Content

  • Resources