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. Es ist jedoch in den Vorlagen für neue Projekte aktiviert. Es kann explizit aktiviert oder deaktiviert werden (XamlCompilationOptions.Skip) sowohl auf Assembly- als auch auf Klassenebene, indem das XamlCompilation Attribut hinzugefügt wird.

Das folgende Codebeispiel veranschaulicht das Aktivieren der XAML-Kompilierung auf Assemblyebene:

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

Obwohl das Attribut überall platziert werden kann, ist es ein guter Ort, um es in AssemblyInfo.cs zu platzieren.

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

Hinweis

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

Das folgende Codebeispiel veranschaulicht das Aktivieren der XAML-Kompilierung auf Klassenebene:

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

In diesem Beispiel wird die Überprüfung des XAML-Codes zur Kompilierzeit für die HomePage Klasse ausgeführt und Fehler 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.