XAML-Kompilierung in Xamarin.Forms

XAML kann optional auch direkt mit dem XAML-Compiler (XAMLC) in der Zwischensprache (Intermediate Language, IL) kompiliert werden.

Die XAML-Kompilierung bietet eine Reihe von Vorteilen:

  • Er führt eine XAML-Überprüfung zur Kompilierzeit durch und benachrichtigt den Benutzer über eventuelle Fehler.
  • Er entfernt etwas Lade- und Instanziierungszeit für XAML-Elemente.
  • Er hilft bei der Verringerung der Dateigröße der finalen Assembly, indem XAML-Dateien nicht mehr eingeschlossen werden.

Die XAML-Kompilierung ist im Framework standardmäßig deaktiviert. Sie ist jedoch in den Vorlagen für neue Projekte aktiviert. Sie kann sowohl auf Assembly- als auch auf Klassenebene explizit aktiviert oder deaktiviert werden,XamlCompilationOptions.Skip indem das XamlCompilation -Attribut hinzugefügt wird.

Im folgenden Codebeispiel wird die Aktivierung der XAML-Kompilierung auf Assemblyebene veranschaulicht:

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

Das Attribut kann zwar an einer beliebigen Stelle platziert werden, ein guter Ort ist jedoch AssemblyInfo.cs.

In diesem Beispiel wird die Überprüfung der gesamten XAML in der Assembly zur Kompilierzeit durchgeführt, wobei XAML-Fehler zur Kompilierzeit und nicht zur Laufzeit gemeldet werden. Daher gibt das assembly Präfix des XamlCompilation Attributs an, dass das Attribut für die gesamte Assembly gilt.

Hinweis

Das XamlCompilation Attribut und die XamlCompilationOptions Enumeration befinden sich im -Namespace, der Xamarin.Forms.Xaml importiert werden muss, um sie zu verwenden.

Im folgenden Codebeispiel wird die Aktivierung der XAML-Kompilierung auf Klassenebene veranschaulicht:

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

In diesem Beispiel wird die Überprüfung der XAML zur Kompilierzeit für die HomePage -Klasse ausgeführt, und Fehler werden im Rahmen des Kompilierungsprozesses gemeldet.

Hinweis

Kompilierte Bindungen können aktiviert werden, um die Leistung der Datenbindung in Xamarin.Forms Anwendungen zu verbessern. Weitere Informationen finden Sie unter Kompilierte Bindungen.