Xamarin.Forms Nozioni di base su XAML

Download Sample Scaricare l'esempio

Il linguaggio XAML (eXtensible Application Markup Language) è un linguaggio basato su XML creato da Microsoft come alternativa alla programmazione del codice per la creazione di istanze 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 più grande utilità per definire il layout delle interfacce utente all'interno di Windows Presentation Foundation (WPF), Silverlight, Windows Runtime e la piattaforma UWP (Universal Windows Platform) (UWP).

XAML consente agli sviluppatori di definire interfacce utente nelle Xamarin.Forms applicazioni usando markup anziché codice. XAML non è mai necessario in un Xamarin.Forms programma, ma spesso è più conciso e più visivamente coerente rispetto al codice equivalente e potenzialmente utilizzabile. XAML è particolarmente adatto per l'uso con l'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 Xamarin.Forms sviluppatore può definire interfacce utente usando tutte le Xamarin.Forms visualizzazioni, i layout e le pagine, nonché 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 oggetti denominati e di nuovo in fase di esecuzione per creare e inizializzare oggetti e stabilire collegamenti tra questi oggetti e il codice di programmazione.

XAML offre diversi vantaggi rispetto al codice equivalente:

  • XAML è spesso più conciso 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 di oggetti dell'interfaccia utente.
  • XAML può essere facilmente scritto a mano dai programmatori, ma si presta anche a essere strumentibile e generato dagli strumenti di progettazione visiva.

Esistono anche svantaggi, principalmente correlati alle limitazioni intrinseche dei 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 Xamarin.Forms oggetti visivi, in particolare ListView , possono generare più elementi figlio in base agli oggetti nella relativa ItemsSource raccolta.
  • XAML non può contenere l'elaborazione condizionale.Tuttavia, un data binding può fare riferimento a un convertitore di binding basato su codice che consente in modo efficace un'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 esiste ancora 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 puoi 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 molta esperienza in XAML sanno che la sperimentazione è gratificante.

XAML è fondamentalmente XML, ma XAML include 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 è completamente xml legale. Tuttavia, queste funzionalità della sintassi XAML usano XML in modi univoci. Vengono illustrati in dettaglio negli articoli seguenti, che concludono un'introduzione all'uso di XAML per l'implementazione di MVVM.

Requisiti

Questo articolo presuppone una familiarità di lavoro con Xamarin.Forms. Questo articolo presuppone inoltre una certa familiarità con XML, tra cui la comprensione dell'uso delle dichiarazioni dello spazio dei nomi XML e l'elemento, il tag e l'attributo termini.

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

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