Compilazione XAML in xamarin. FormsXAML Compilation in Xamarin.Forms

XAML può essere compilato direttamente in linguaggio intermedio (IL) con il compilatore XAML (XAMLC).XAML can be optionally compiled directly into intermediate language (IL) with the XAML compiler (XAMLC).

Compilazione XAML offre numerosi vantaggi:XAML compilation offers a number of a benefits:

  • Esegue il controllo del codice XAML in fase di compilazione, notificando all'utente eventuali errori.It performs compile-time checking of XAML, notifying the user of any errors.
  • Rimuove parte del tempo di carico e di creazione dell'istanza per gli elementi XAML.It removes some of the load and instantiation time for XAML elements.
  • Consente di ridurre le dimensioni del file dell'assembly finale non includendo più i file XAML.It helps to reduce the file size of the final assembly by no longer including .xaml files.

Compilazione XAML è disabilitata per impostazione predefinita per garantire la compatibilità.XAML compilation is disabled by default to ensure backwards compatibility. Può essere abilitata a livello di assembly e di classe, aggiungere il XamlCompilation attributo.It can be enabled at both the assembly and class level by adding the XamlCompilation attribute.

Esempio di codice seguente viene illustrata l'abilitazione di compilazione XAML a livello di assembly:The following code example demonstrates enabling XAML compilation at the assembly level:

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

In questo esempio, controllo di tutto il XAML contenute all'interno dell'assembly in fase di compilazione verrà eseguita con errori XAML da segnalare in fase di compilazione anziché in fase di esecuzione.In this example, compile-time checking of all the XAML contained within the assembly will be performed, with XAML errors being reported at compile-time rather than run-time. Pertanto, il assembly prefisso per il XamlCompilation attributo specifica che l'attributo viene applicato all'intero assembly.Therefore, the assembly prefix to the XamlCompilation attribute specifies that the attribute applies to the entire assembly.

Nota

Il XamlCompilation attributo e il XamlCompilationOptions enumerazione si trovano nel Xamarin.Forms.Xaml dello spazio dei nomi, che deve essere importato per usarli.The XamlCompilation attribute and the XamlCompilationOptions enumeration reside in the Xamarin.Forms.Xaml namespace, which must be imported to use them.

Esempio di codice seguente viene illustrata l'abilitazione di compilazione XAML a livello di classe:The following code example demonstrates enabling XAML compilation at the class level:

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

In questo esempio, il controllo del XAML per la fase di compilazione il HomePage classe verrà eseguita e gli errori segnalati come parte del processo di compilazione.In this example, compile-time checking of the XAML for the HomePage class will be performed and errors reported as part of the compilation process.

Nota

Le associazioni compilate possono essere abilitate per migliorare le prestazioni di associazione dati nelle applicazioni xamarin. Forms.Compiled bindings can be enabled to improve data binding performance in Xamarin.Forms applications. Per altre informazioni, vedere associazioni compilate.For more information, see Compiled Bindings.