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.