Bagikan melalui


Namespace XAML

XAML menggunakan xmlns atribut XML untuk deklarasi namespace. Ada dua deklarasi namespace XAML yang selalu berada dalam elemen akar file XAML. Yang pertama mendefinisikan namespace default:

xmlns="http://schemas.microsoft.com/dotnet/2021/maui"

Namespace default menentukan bahwa elemen yang ditentukan dalam file XAML tanpa awalan mengacu pada kelas .NET Multi-platform App UI (.NET MAUI), seperti ContentPage, , Labeldan Button.

Deklarasi namespace kedua menggunakan awalan x :

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

XAML menggunakan awalan untuk mendeklarasikan namespace layanan non-default, dengan awalan yang digunakan saat mereferensikan jenis dalam namespace layanan. x Deklarasi namespace menentukan bahwa elemen yang ditentukan dalam XAML dengan awalan x digunakan untuk elemen dan atribut yang intrinsik ke XAML (khususnya spesifikasi XAML 2009).

Tabel berikut menguraikan konstruksi yang x didukung oleh .NET MAUI:

Konstruksi Deskripsi
x:Arguments Menentukan argumen konstruktor untuk konstruktor non-default, atau untuk deklarasi objek metode pabrik.
x:Class Menentukan namespace layanan dan nama kelas untuk kelas yang ditentukan dalam XAML. Nama kelas harus cocok dengan nama kelas file code-behind. Perhatikan bahwa konstruksi ini hanya dapat muncul di elemen akar file XAML.
x:ClassModifier Menentukan tingkat akses untuk kelas yang dihasilkan di rakitan.
x:DataType Menentukan jenis objek yang akan diikat oleh elemen XAML, dan anak-anak.
x:FactoryMethod Menentukan metode pabrik yang dapat digunakan untuk menginisialisasi objek.
x:FieldModifier Menentukan tingkat akses untuk bidang yang dihasilkan untuk elemen XAML bernama.
x:Key Menentukan kunci unik yang ditentukan pengguna untuk setiap sumber daya dalam ResourceDictionary. Nilai kunci digunakan untuk mengambil sumber daya XAML, dan biasanya digunakan sebagai argumen untuk StaticResource ekstensi markup.
x:Name Menentukan nama objek runtime untuk elemen XAML. Pengaturan x:Name mirip dengan mendeklarasikan variabel dalam kode.
x:TypeArguments Menentukan argumen jenis generik ke konstruktor jenis generik.

Untuk informasi selengkapnya tentang x:ClassModifier atribut , lihat Pengubah kelas. Untuk informasi selengkapnya tentang x:DataType atribut, lihat Pengikatan yang dikompilasi. Untuk informasi selengkapnya tentang x:FieldModifier atribut, lihat Pengubah bidang. Untuk informasi selengkapnya tentang x:Arguments atribut dan x:FactoryMethod , lihat Meneruskan argumen. Untuk informasi selengkapnya tentang x:TypeArguments atribut, lihat Generik.

Catatan

Selain konstruksi yang tercantum di atas, .NET MAUI juga menyertakan ekstensi markup yang dapat digunakan melalui x awalan namespace layanan. Untuk informasi selengkapnya, lihat Menggunakan Ekstensi Markup XAML.

Di XAML, deklarasi namespace mewarisi dari elemen induk ke elemen turunan. Oleh karena itu, saat menentukan namespace dalam elemen akar file XAML, semua elemen dalam file tersebut mewarisi deklarasi namespace layanan.

Mendeklarasikan namespace untuk jenis

Jenis dapat direferensikan dalam XAML dengan mendeklarasikan namespace XAML dengan awalan, dengan deklarasi namespace layanan yang menentukan nama namespace Common Language Runtime (CLR), dan secara opsional nama assembly. Ini dicapai dengan mendefinisikan nilai untuk kata kunci berikut dalam deklarasi namespace:

  • clr-namespace: atau using: – namespace CLR yang dideklarasikan dalam rakitan yang berisi jenis untuk diekspos sebagai elemen XAML. Kata kunci ini diperlukan.
  • assembly= – rakitan yang berisi namespace CLR yang dirujuk. Nilai ini adalah nama rakitan, tanpa ekstensi file. Jalur ke assembly harus ditetapkan sebagai referensi dalam proyek yang berisi file XAML yang akan mereferensikan assembly. Kata kunci ini dapat dihilangkan jika nilai namespace clr berada dalam rakitan yang sama dengan kode aplikasi yang merujuk jenis.

Catatan

Karakter yang clr-namespace memisahkan token atau using dari nilainya adalah titik dua, sedangkan karakter yang memisahkan assembly token dari nilainya adalah tanda sama dengan. Karakter yang akan digunakan di antara dua token adalah titik koma.

Contoh kode berikut menunjukkan deklarasi namespace XAML:

<ContentPage ... xmlns:local="clr-namespace:MyMauiApp">
  ...
</ContentPage>

Atau, ini dapat ditulis sebagai:

<ContentPage ... xmlns:local="using:MyMauiApp">
  ...
</ContentPage>

local Awalan adalah konvensi yang digunakan untuk menunjukkan bahwa jenis dalam namespace layanan bersifat lokal untuk aplikasi. Atau, jika jenis berada dalam rakitan yang berbeda, nama rakitan juga harus didefinisikan dalam deklarasi namespace:

<ContentPage ... xmlns:controls="clr-namespace:Controls;assembly=MyControlLibrary" ...>
  ...
</ContentPage>

Awalan namespace layanan kemudian ditentukan saat mendeklarasikan instans jenis dari namespace yang diimpor:

<controls:Expander IsExpanded="True">
    ...
</controls:Expander>

Untuk informasi tentang menentukan skema namespace kustom, lihat Skema namespace kustom.