Xamarin.Forms Principes de base XAML
Le langage XAML (Application Markup Language) eXtensible est un langage XML créé par Microsoft comme alternative au code de programmation pour instancier et initialiser des objets, et organiser ces objets dans des hiérarchies parent-enfant. XAML a été adapté à plusieurs technologies dans le .NET Framework, mais il a trouvé son plus grand utilitaire dans la définition de la disposition des interfaces utilisateur au sein de Windows Presentation Foundation (WPF), Silverlight, Windows Runtime et le plateforme Windows universelle (UWP).
XAML permet aux développeurs de définir des interfaces utilisateur dans des Xamarin.Forms applications à l’aide de balisage plutôt que de code. XAML n’est jamais nécessaire dans un Xamarin.Forms programme, mais il est souvent plus succinct et plus cohérent visuellement que le code équivalent, et potentiellement outillable. XAML convient parfaitement à l’utilisation avec l’architecture d’application MVVM populaire (Model-View-ViewModel) : XAML définit la vue liée au code ViewModel par le biais de liaisons de données XAML.
Dans un fichier XAML, le Xamarin.Forms développeur peut définir des interfaces utilisateur à l’aide de toutes les Xamarin.Forms vues, dispositions et pages, ainsi que des classes personnalisées. Le fichier XAML peut être compilé ou incorporé dans l’exécutable. De toute façon, les informations XAML sont analysées au moment de la génération pour localiser des objets nommés, puis à nouveau au moment de l’exécution pour instancier et initialiser des objets, et pour établir des liens entre ces objets et le code de programmation.
XAML présente plusieurs avantages par rapport au code équivalent :
- XAML est souvent plus succinct et lisible que le code équivalent.
- La hiérarchie parent-enfant inhérente au code XML permet au code XAML d’imiter avec une plus grande clarté visuelle la hiérarchie parent-enfant des objets d’interface utilisateur.
- XAML peut être facilement écrit manuellement par des programmeurs, mais se prête également à être outilable et généré par des outils de conception visuelle.
Il existe également des inconvénients, principalement liés aux limitations intrinsèques aux langages de balisage :
- XAML ne peut pas contenir de code. Tous les gestionnaires d’événements doivent être définis dans un fichier de code.
- XAML ne peut pas contenir de boucles pour le traitement répétitif. (Toutefois, plusieurs Xamarin.Forms objets visuels, notamment
ListView
, peuvent générer plusieurs enfants en fonction des objets de saItemsSource
collection.) - XAML ne peut pas contenir de traitement conditionnel (toutefois, une liaison de données peut référencer un convertisseur de liaison basé sur du code qui autorise efficacement un traitement conditionnel.)
- XAML ne peut généralement pas instancier des classes qui ne définissent pas de constructeur sans paramètre. (Toutefois, il existe parfois un moyen de contourner cette restriction.)
- Xaml ne peut généralement pas appeler des méthodes. (Là encore, cette restriction peut parfois être surmontée.)
Il n’existe pas encore de concepteur visuel pour générer du code XAML dans les Xamarin.Forms applications. Tous les xamls doivent être écrits manuellement, mais vous pouvez utiliser des Rechargement à chaud XAML dans Visual Studio 2019 ou Visual Studio pour Mac pour afficher vos conceptions d’écran lorsque vous les modifiez. Même les développeurs ayant beaucoup d’expérience en XAML savent que l’expérimentation est gratifiante.
XAML est essentiellement XML, mais XAML a certaines fonctionnalités de syntaxe uniques. Voici les plus importants :
- Éléments de propriété
- Propriétés jointes
- Extensions de balisage
Ces fonctionnalités ne sont pas des extensions XML. XAML est entièrement légal XML. Mais ces fonctionnalités de syntaxe XAML utilisent du code XML de manière unique. Ils sont abordés en détail dans les articles ci-dessous, qui se terminent par une introduction à l’utilisation de XAML pour l’implémentation de MVVM.
Spécifications
Cet article suppose une connaissance de travail avec Xamarin.Forms. Cet article suppose également une certaine connaissance du code XML, notamment la compréhension de l’utilisation des déclarations d’espace de noms XML, ainsi que l’élément de termes, la balise et l’attribut.
Lorsque vous êtes familiarisé avec Xamarin.Forms et XML, commencez à lire la partie 1. Bien démarrer avec XAML.