içinde XAML Derlemesi Xamarin.Forms
XAML isteğe bağlı olarak XAML derleyicisi (XAMLC) ile doğrudan ara dile (IL) derlenebilir.
XAML derlemesi bir dizi avantaj sunar:
- XAML'de derleme zamanı denetimi gerçekleştirerek kullanıcıya hataları bildirir.
- XAML öğeleri için bazı yük ve örnekleme süresini kaldırır.
- Artık .xaml dosyalarını eklemeyerek son derlemenin dosya boyutunu azaltmaya yardımcı olur.
XAML derlemesi, çerçevede varsayılan olarak devre dışıdır. Ancak, yeni projeler için şablonlarda etkinleştirilir. Özniteliği eklenerek XamlCompilation
hem derleme hem de sınıf düzeyinde açıkça etkinleştirilebilir veya devre dışı bırakılabilir (XamlCompilationOptions.Skip
).
Aşağıdaki kod örneği, derleme düzeyinde XAML derlemesini etkinleştirmeyi gösterir:
using Xamarin.Forms.Xaml;
...
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
namespace PhotoApp
{
...
}
Özniteliği herhangi bir yere yerleştirilebilir, ancak AssemblyInfo.cs koymak için iyi bir yerdir.
Bu örnekte derleme içinde yer alan tüm XAML'ler için derleme zamanı denetimi gerçekleştirilir ve XAML hataları çalışma zamanı yerine derleme zamanında bildirilir. Bu nedenle, özniteliğinin assembly
XamlCompilation
ön eki özniteliğin tüm derleme için geçerli olduğunu belirtir.
Not
XamlCompilation
özniteliği ve XamlCompilationOptions
numaralandırma ad alanında Xamarin.Forms.Xaml
bulunur ve bunları kullanmak için içeri aktarılması gerekir.
Aşağıdaki kod örneği, sınıf düzeyinde XAML derlemesini etkinleştirmeyi gösterir:
using Xamarin.Forms.Xaml;
...
[XamlCompilation (XamlCompilationOptions.Compile)]
public class HomePage : ContentPage
{
...
}
Bu örnekte, sınıf için HomePage
XAML'nin derleme zamanı denetimi gerçekleştirilir ve derleme işleminin bir parçası olarak hatalar bildirilir.
Not
Derlenmiş bağlamalar, uygulamalarda veri bağlama performansını Xamarin.Forms geliştirmek için etkinleştirilebilir. Daha fazla bilgi için bkz . Derlenmiş Bağlamalar.