Compilation XAML dans Xamarin.Forms

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

La compilation XAML offre plusieurs 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. Il peut être explicitement activé ou désactivé (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 est dans AssemblyInfo.cs.

Dans cet exemple, la vérification au moment de la compilation de tous les XAML contenus dans l’assembly sera effectuée, les erreurs XAML étant 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’ensemble de l’assembly.

Notes

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.

Notes

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.