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:
atauusing:
– 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.