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.