Xamarin.Forms Nozioni di base su XAML

Scarica esempio Scaricare l'esempio

EXtensible Application Markup Language (XAML) è un linguaggio basato su XML creato da Microsoft come alternativa al codice di programmazione per la creazione e l'inizializzazione di oggetti e l'organizzazione di tali oggetti nelle gerarchie padre-figlio. XAML è stato adattato a diverse tecnologie all'interno di .NET Framework, ma ha trovato la sua migliore utilità nella definizione del layout delle interfacce utente all'interno di Windows Presentation Foundation (WPF), Silverlight, Windows Runtime e UWP (Universal Windows Platform).

XAML consente agli sviluppatori di definire le interfacce utente nelle Xamarin.Forms applicazioni usando il markup anziché il codice. XAML non è mai necessario in un programma, ma spesso è più sintetico e visivamente coerente rispetto al codice Xamarin.Forms equivalente e potenzialmente toolable. XAML è particolarmente adatto per l'uso con la popolare architettura dell'applicazione MVVM (Model-View-ViewModel): XAML definisce la visualizzazione collegata al codice ViewModel tramite data binding basati su XAML.

All'interno di un file XAML, lo sviluppatore può definire le interfacce utente usando tutte le visualizzazioni, i layout e le Xamarin.Forms Xamarin.Forms pagine, nonché le classi personalizzate. Il file XAML può essere compilato o incorporato nel file eseguibile. In entrambi i casi, le informazioni XAML vengono analizzate in fase di compilazione per individuare gli oggetti denominati e di nuovo in fase di esecuzione per creare un'istanza e inizializzare gli oggetti e per stabilire collegamenti tra questi oggetti e il codice di programmazione.

XAML offre diversi vantaggi rispetto al codice equivalente:

  • XAML è spesso più sintetico e leggibile rispetto al codice equivalente.
  • La gerarchia padre-figlio intrinseca in XML consente a XAML di simulare con maggiore chiarezza visiva la gerarchia padre-figlio degli oggetti dell'interfaccia utente.
  • XAML può essere scritto facilmente a mano dai programmatori, ma si presta anche a essere toolable e generato dagli strumenti di progettazione visiva.

Esistono anche svantaggi, principalmente correlati a limitazioni intrinseche ai linguaggi di markup:

  • XAML non può contenere codice. Tutti i gestori eventi devono essere definiti in un file di codice.
  • XAML non può contenere cicli per l'elaborazione ripetitiva. Tuttavia, diversi oggetti visivi, in particolare, possono generare più elementi figlio in Xamarin.Forms base agli oggetti nella ListView ItemsSource raccolta.
  • XAML non può contenere l'elaborazione condizionale .Tuttavia, un'associazione dati può fare riferimento a un convertitore di binding basato sul codice che consente in modo efficace l'elaborazione condizionale.
  • XAML in genere non può creare un'istanza di classi che non definiscono un costruttore senza parametri. (Tuttavia, a volte esiste un modo per aggirare questa restrizione).
  • XAML in genere non può chiamare metodi. Anche in questo caso, questa restrizione può talvolta essere superata.

Non è ancora disponibile una finestra di progettazione visiva per la generazione di CODICE XAML nelle Xamarin.Forms applicazioni. Tutto il codice XAML deve essere scritto a mano, ma è possibile usare Ricaricamento rapido XAML in Visual Studio 2019 o Visual Studio per Mac per visualizzare le progettazioni dello schermo durante la modifica. Anche gli sviluppatori con una grande esperienza in XAML sanno che la sperimentazione è gratificante.

XAML è fondamentalmente XML, ma XAML ha alcune funzionalità di sintassi univoche. Le più importanti sono le seguenti:

  • Elementi della proprietà
  • Proprietà associate
  • Estensioni di markup

Queste funzionalità non sono estensioni XML. XAML è un codice XML interamente legale. Tuttavia, queste funzionalità di sintassi XAML usano XML in modi univoci. Vengono descritti in dettaglio negli articoli seguenti, che terminano con un'introduzione all'uso di XAML per l'implementazione di MVVM.

Requisiti

Questo articolo presuppone una familiarità con Xamarin.Forms . Questo articolo presuppone anche una certa familiarità con XML, inclusa la comprensione dell'uso delle dichiarazioni dello spazio dei nomi XML e dei termini elemento, tag e attributo.

Quando si ha familiarità con Xamarin.Forms e XML, iniziare a leggere la parte 1. Attività iniziali con XAML.

Altri video di Xamarin sono disponibili su Channel 9 e YouTube.