C#, etc). O arquivo XAML contem as diretrizes de interface, podendo ser comparado ao XHTML em relacao ao ASP.net.Agora o XAML e usado para criar interfaces de utilizador do WPF, Silverlight e tambem para o papel electronico do padrao XPS.Definicao de XPS XML Paper Specification (XPS), e um formato de arquivo desenvolvido pela Microsoft para representar documentos portateis, visando facilitar a distribuicao de documentos entre aplicativos, sistemas operacionais e perifericos como impressoras e scanners. Diferente dos documentos de papel, documentos XPS oferecem uma conveniente alternativa para leitura, impressao, transferencia e estocagem. Fonte: Wikipedia.Principais vantagens do XMALTudo o que e criado no XAML tambem pode ser feito no codigo. XAML e apenas uma outra maneira de criar e inicializar objectos. Podemos usar WPF sem usar o XAML. Codigo XAML e curto e facil de ler Separacao do codigo de designer e logica Ferramentas de design grafico como o Expression Blend exigir XAML como fonte. A separacao de XAML e logica da interface do utilizador permite a clara separacao dos papeis de designer e programador.Todo arquivo XAML tem algumas caracteristicas:Ele deve ter um controle root, que e um controle raiz que contem todos os outros. So e permitido um root em cada arquivo XAML. No exemplo da figura, o root e a grid.Ele esta ligado a uma classe no codigo, indicado na propriedade x:Class do elemento root. No nosso exemplo, o arquivo XAML esta ligado a classe HelloWorld.Scene1Os elementos sao definidos usando tags (&lt; &gt; e &lt; / &gt;). O nivel de parentesco e dado pelo encadeamento das tags.Por exemplo: Indica que o label e o button estao contidos na grid. Os elementos podem conter atributos especificados de duas maneiras: Na tag do elemento, utilizando a sintaxe (as aspas sao obrigatorias) Como sub-elemento do elemento principal:A segunda maneira, embora mais complicada, e mais flexivel e possibilita maior customizacao dos elementos. Veja abaixo um exemplo comparando as duas maneiras:Como pudemos ver, cada XAML referencia uma classe de codigo que pode definir seu comportamento, de forma analoga ao code-behind do ASP.net. Este codigo encontra-se em um arquivo .vb ou .cs, dependendo da linguagem utilizada. Podemos alterar os atributos dos elementos usando codigo de programacao, da mesma maneira que fazemos usualmente. Por exemplo, esse codigo .NET muda o conteudo do label que colocamos na janela:Note que o label e referenciado por sua propriedade x:Name, que no caso e Label .Desenvolvendo exemplo:Para desenvolver o modelo abra o Expression Interactive Designer. Voce vera uma tela como a mostrada na Figura 1:Figura 1Abaixo da barra de menus, temos o editor de codigo/designer. Ele mostra os arquivos que estao abertos no momento. Quando estamos visualizando um arquivo XAML, podemos alterar a visualizacao entre o codigo XAML e o designer usando as abas da parte inferior da janela.Abaixo do editor, temos as paletas TimeLine que serve para controlar animacoes ou selecionar objetos no seu programa e Results que mostra resultados e mensagens da compilacao/execucao.Ao lado da janela do editor, temos a paleta Tools , onde encontramos as ferramentas mais usadas para trabalhar com itens na janela. Agora abra a paleta Library e