atribut x:Class
Mengonfigurasi kompilasi XAML untuk menggabungkan kelas parsial antara markup dan code-behind. Kelas parsial kode didefinisikan dalam file kode terpisah, dan kelas parsial markup dibuat oleh pembuatan kode selama kompilasi XAML.
Penggunaan atribut XAML
<object x:Class="namespace.classname"...>
...
</object>
Nilai XAML
Persyaratan | Deskripsi |
---|---|
namespace | Opsional. Menentukan namespace yang berisi kelas parsial yang diidentifikasi oleh nama kelas. Jika namespace ditentukan, titik (.) memisahkan namespace dan nama kelas. Jika namespace dihilangkan, nama kelas diasumsikan tidak memiliki namespace layanan. |
nama kelas | Harus diisi. Menentukan nama kelas parsial yang menghubungkan XAML yang dimuat dan kode Anda di belakang untuk XAML tersebut. |
Keterangan
x:Class dapat dideklarasikan sebagai atribut untuk elemen apa pun yang merupakan akar dari pohon file/objek XAML dan sedang dikompilasi oleh tindakan build, atau untuk akar Aplikasi dalam definisi aplikasi dari aplikasi yang dikompilasi. Mendeklarasikan x:Class pada elemen apa pun selain simpul akar, dan dalam keadaan apa pun untuk file XAML yang tidak dikompilasi dengan tindakan Build halaman , menghasilkan kesalahan waktu kompilasi.
Kelas yang digunakan sebagai x:Class tidak dapat menjadi kelas berlapis.
Nilai atribut x:Class harus berupa string yang menentukan nama kelas yang sepenuhnya memenuhi syarat. Anda dapat menghilangkan informasi namespace selama itu adalah bagaimana kode-di belakang juga terstruktur (definisi kelas Anda dimulai di tingkat kelas). File code-behind untuk definisi halaman atau aplikasi harus berada dalam file kode yang disertakan sebagai bagian dari proyek. Kelas code-behind harus publik. Kelas code-behind harus parsial.
Aturan bahasa CLR
Meskipun file code-behind Anda dapat berupa file C++, ada konvensi tertentu yang masih mengikuti formulir bahasa CLR, sehingga tidak ada perbedaan dalam sintaks XAML. Secara khusus, pemisah antara namespace layanan dan komponen nama kelas dari nilai x:Class apa pun selalu merupakan titik ("."), meskipun pemisah antara namespace layanan dan nama kelas dalam file kode C++ yang terkait dengan XAML adalah "::". Jika Anda mendeklarasikan namespace berlapis di C++, maka pemisah antara string namespace berlapis berturut-turut juga harus "." daripada "::" saat Anda menentukan bagian namespace dari nilai x:Class .