Freigeben über


XAML-Kompilierung in Xamarin.Forms

XAML kann optional direkt in die Zwischensprache (IL) mit dem XAML-Compiler (XAMLC) 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 standardmäßig im Framework deaktiviert. Sie ist jedoch in den Vorlagen für neue Projekte aktiviert. Sie kann sowohl auf Assembly- als auch auf Klassenebene explizit aktiviert oder deaktiviertXamlCompilationOptions.Skip werden, indem Sie das XamlCompilation Attribut hinzufügen.

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

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

Während das Attribut an einer beliebigen Stelle platziert werden kann, ist es ein guter Ort, um es in AssemblyInfo.cs zu platzieren.

In diesem Beispiel wird die Kompilierungszeitüberprüfung aller in der Assembly enthaltenen XAML-Code ausgeführt, wobei XAML-Fehler zur Kompilierungszeit 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 Kompilierungszeitüberprüfung des XAML-Codes für die HomePage Klasse ausgeführt, und Fehler werden als Teil des Kompilierungsprozesses gemeldet.

Hinweis

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