Bagikan melalui


Kompilasi XAML di Xamarin.Forms

XAML dapat dikompilasi secara opsional langsung ke dalam bahasa perantara (IL) dengan kompilator XAML (XAMLC).

Kompilasi XAML menawarkan sejumlah manfaat:

  • Ini melakukan pemeriksaan waktu kompilasi XAML, memberi tahu pengguna tentang kesalahan apa pun.
  • Ini menghapus beberapa waktu beban dan instansiasi untuk elemen XAML.
  • Ini membantu mengurangi ukuran file perakitan akhir dengan tidak lagi menyertakan file .xaml.

Kompilasi XAML dinonaktifkan secara default dalam kerangka kerja. Namun, ini diaktifkan dalam templat untuk proyek baru. Ini dapat diaktifkan atau dinonaktifkan secara eksplisit (XamlCompilationOptions.Skip) di tingkat rakitan dan kelas dengan menambahkan XamlCompilation atribut .

Contoh kode berikut menunjukkan pengaktifan kompilasi XAML di tingkat perakitan:

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

Meskipun atribut dapat ditempatkan di mana saja, tempat yang baik untuk memasukkannya ke dalam AssemblyInfo.cs.

Dalam contoh ini, pemeriksaan waktu kompilasi dari semua XAML yang terkandung dalam rakitan akan dilakukan, dengan kesalahan XAML dilaporkan pada waktu kompilasi daripada run-time. Oleh karena itu, awalan assembly ke XamlCompilation atribut menentukan bahwa atribut berlaku untuk seluruh perakitan.

Catatan

Atribut XamlCompilation dan XamlCompilationOptions enumerasi berada di Xamarin.Forms.Xaml namespace layanan, yang harus diimpor untuk menggunakannya.

Contoh kode berikut menunjukkan pengaktifan kompilasi XAML di tingkat kelas:

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

Dalam contoh ini, pemeriksaan waktu kompilasi XAML untuk HomePage kelas akan dilakukan dan kesalahan yang dilaporkan sebagai bagian dari proses kompilasi.

Catatan

Pengikatan yang dikompilasi dapat diaktifkan untuk meningkatkan performa pengikatan data dalam Xamarin.Forms aplikasi. Untuk informasi selengkapnya, lihat Pengikatan Terkompilasi.