Compilação XAML no Xamarin.Forms

Opcionalmente, XAML pode ser compilado direto na IL (linguagem intermediária) com o compilador XAML (XAMLC).

A compilação XAML oferece vários benefícios:

  • Executa verificação de tempo de compilação de XAML, notificando o usuário de quaisquer erros.
  • Elimina parte da carga e do tempo de instanciação para elementos XAML.
  • Ajuda a reduzir o tamanho do arquivo do assembly final não incluindo mais arquivos .XAML.

A compilação XAML está desabilitada por padrão na estrutura . No entanto, ele está habilitado nos modelos para novos projetos. Ele pode ser explicitamente habilitado ou desabilitado (XamlCompilationOptions.Skip) no nível do assembly e da classe adicionando o XamlCompilation atributo .

O exemplo de código a seguir demonstra como habilitar a compilação XAML no nível do assembly:

using Xamarin.Forms.Xaml;
...
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
namespace PhotoApp
{
  ...
}

Embora o atributo possa ser colocado em qualquer lugar, um bom lugar para colocá-lo é em AssemblyInfo.cs.

Neste exemplo, a verificação em tempo de compilação de todos os XAML contidos no assembly será executada, com erros XAML sendo relatados em tempo de compilação em vez de em tempo de execução. Portanto, o assembly prefixo para o XamlCompilation atributo especifica que o atributo se aplica a todo o assembly.

Observação

O XamlCompilation atributo e a XamlCompilationOptions enumeração residem no Xamarin.Forms.Xaml namespace , que deve ser importado para usá-los.

O exemplo de código a seguir demonstra como habilitar a compilação XAML no nível da classe:

using Xamarin.Forms.Xaml;
...
[XamlCompilation (XamlCompilationOptions.Compile)]
public class HomePage : ContentPage
{
  ...
}

Neste exemplo, a verificação em tempo de compilação do XAML para a HomePage classe será executada e os erros relatados como parte do processo de compilação.

Observação

As associações compiladas podem ser habilitadas para melhorar o desempenho da associação de dados em Xamarin.Forms aplicativos. Para saber mais, confira Associações compiladas.