Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Linguagem de Marcação de Aplicações Extensíveis (XAML) é uma linguagem baseada em XML que é uma alternativa à programação de código para instanciar e inicializar objetos, e organizar esses objetos em hierarquias pai-filho.
O XAML permite aos programadores definir interfaces de utilizador em aplicações .NET Multi-platform App UI (.NET MAUI) usando marcação em vez de código. XAML não é obrigatório numa aplicação .NET MAUI, mas é a abordagem recomendada para desenvolver a sua interface porque é frequentemente mais sucinta, visualmente mais coerente e tem suporte para ferramentas. O XAML é também muito adequado para uso com o padrão Model-View-ViewModel (MVVM), onde o XAML define a vista ligada ao código do viewmodel através de ligações de dados baseadas em XAML.
Dentro de um ficheiro XAML, pode definir interfaces de utilizador usando todas as vistas, layouts e páginas do .NET MAUI, bem como classes personalizadas. O ficheiro XAML pode ser compilado ou incorporado no pacote da aplicação. De qualquer forma, o XAML é analisado em tempo de compilação para localizar objetos nomeados, e em tempo de execução os objetos representados pelo XAML são instanciados e inicializados.
O XAML tem várias vantagens em relação ao código equivalente:
- O XAML é frequentemente mais sucinto e legível do que o código equivalente.
- A hierarquia pai-filho inerente ao XML permite que o XAML imite com maior clareza visual a hierarquia pai-filho dos objetos da interface de utilizador.
Existem também desvantagens, principalmente relacionadas com limitações intrínsecas às linguagens de marcação:
- O XAML não pode conter código. Todos os gestores de eventos devem estar definidos num ficheiro de código.
- O XAML não pode conter ciclos para processamento repetitivo. No entanto, existem controlos que exibem coleções de dados, como ListView e CollectionView.
- O XAML não pode conter processamento condicional. No entanto, uma ligação de dados pode referenciar um conversor de ligação baseado em código que permite efetivamente algum processamento condicional.
- O XAML geralmente não pode instanciar classes que não definam um construtor sem parâmetros, embora esta restrição possa por vezes ser ultrapassada.
- O XAML geralmente não pode chamar métodos, embora esta restrição possa por vezes ser ultrapassada.
Não existe um designer visual para produzir XAML em aplicações MAUI .NET. Todo o XAML tem de ser escrito à mão, mas podes usar o recarregamento a quente do XAML para visualizar a interface enquanto a editas.
O XAML é basicamente XML, mas o XAML tem algumas características de sintaxe únicas. As mais importantes são:
- Elementos de propriedade
- Propriedades anexadas
- Extensões de marcação
Estas funcionalidades não são extensões XML. XAML é totalmente legal. Mas estas funcionalidades da sintaxe XAML usam XML de formas únicas.