Compilation XAML dans Xamarin.Forms

XAML peut être compilé directement en langage intermédiaire (IL) avec le compilateur XAML (XAMLC).

La compilation XAML offre un certain nombre d’avantages :

  • Il effectue une vérification au moment de la compilation du code XAML et informe l’utilisateur des erreurs rencontrées.
  • Il supprime une partie du temps de chargement et d’instanciation pour les éléments XAML.
  • Il permet de réduire la taille de fichier de l’assembly final en n’incluant plus les fichiers .xaml.

La compilation XAML est désactivée par défaut dans l’infrastructure. Toutefois, il est activé dans les modèles pour les nouveaux projets. Elle peut être explicitement activée ou désactivée (XamlCompilationOptions.Skip) au niveau de l’assembly et de la classe en ajoutant l’attribut XamlCompilation .

L’exemple de code suivant illustre l’activation de la compilation XAML au niveau de l’assembly :

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

Bien que l’attribut puisse être placé n’importe où, un bon endroit pour le placer dans AssemblyInfo.cs.

Dans cet exemple, la vérification au moment de la compilation de l’ensemble du code XAML contenu dans l’assembly est effectuée, avec des erreurs XAML signalées au moment de la compilation plutôt qu’au moment de l’exécution. Par conséquent, le assembly préfixe de l’attribut XamlCompilation spécifie que l’attribut s’applique à l’assembly entier.

Remarque

L’attribut XamlCompilation et l’énumération XamlCompilationOptions résident dans l’espace Xamarin.Forms.Xaml de noms, qui doit être importé pour les utiliser.

L’exemple de code suivant illustre l’activation de la compilation XAML au niveau de la classe :

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

Dans cet exemple, la vérification au moment de la compilation du code XAML pour la HomePage classe est effectuée et les erreurs signalées dans le cadre du processus de compilation.

Remarque

Les liaisons compilées peuvent être activées pour améliorer les performances de liaison de données dans les Xamarin.Forms applications. Pour plus d’informations, consultez Liaisons compilées.