Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengidentifikasi elemen objek secara unik untuk akses ke objek yang dibuat dari kode di belakang atau kode umum. Setelah diterapkan ke model pemrograman dukungan, x:Name dapat dianggap setara dengan variabel yang menyimpan referensi objek, seperti yang dikembalikan oleh konstruktor.
Penggunaan atribut XAML
<object x:Name="XAMLNameValue".../>
Nilai XAML
| Istilah | Description |
|---|---|
| XAMLNameValue | String yang sesuai dengan batasan tata bahasa XamlName. |
Tata bahasa XamlName
Berikut ini adalah tata bahasa normatif untuk string yang digunakan sebagai kunci dalam implementasi XAML ini:
XamlName ::= NameStartChar (NameChar)*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit
LetterCharacter ::= ('a'-'z') | ('A'-'Z')
DecimalDigit ::= '0'-'9'
CombiningCharacter::= none
- Karakter dibatasi untuk rentang ASCII yang lebih rendah, dan lebih khusus untuk huruf besar alfabet Romawi dan huruf kecil, digit, dan karakter garis bawah (_).
- Rentang karakter Unicode tidak didukung.
- Nama tidak dapat dimulai dengan digit. Beberapa implementasi alat menambahkan garis bawah (_) ke string jika pengguna memasok digit sebagai karakter awal, atau alat membuat nilai x:Name secara otomatis berdasarkan nilai lain yang berisi digit.
Komentar
x:Name yang ditentukan menjadi nama bidang yang dibuat dalam kode yang mendasar saat XAML diproses, dan bidang tersebut menyimpan referensi ke objek. Proses pembuatan field ini dilakukan oleh langkah-langkah target MSBuild, yang juga bertanggung jawab untuk menggabungkan kelas-kelas parsial dari file XAML dan kode-behindnya. Perilaku ini tidak secara khusus ditentukan oleh bahasa XAML; ini adalah implementasi khusus yang mana pemrograman Universal Windows Platform (UWP) untuk XAML menerapkan penggunaan x:Name dalam model pemrograman dan aplikasinya.
Setiap x:Name yang ditentukan harus unik dalam namescope XAML. Umumnya, namescope XAML didefinisikan pada tingkat elemen akar halaman yang dimuat dan berisi semua elemen di bawah elemen tersebut dalam satu halaman XAML. Namescope XAML tambahan ditentukan oleh templat kontrol atau templat data apa pun yang ditentukan di halaman tersebut. Saat waktu eksekusi, namescope XAML lain dibuat untuk akar pohon objek yang dibuat dari templat kontrol yang digunakan, dan juga oleh pohon objek yang dibuat dari panggilan ke XamlReader.Load. Untuk informasi selengkapnya, lihat Namescope XAML.
Alat desain sering membuat nilai x:Name secara otomatis untuk elemen ketika diperkenalkan ke permukaan desain. Skema autogenerasi bervariasi tergantung pada perancang mana yang Anda gunakan, tetapi skema umumnya adalah menghasilkan string yang dimulai dengan nama kelas yang mendukung elemen, diikuti dengan bilangan bulat yang maju. Misalnya, jika Anda memperkenalkan elemen Tombol pertama kepada perancang, Anda mungkin melihat bahwa di XAML elemen ini memiliki nilai atribut x:Name "Button1".
x:Name tidak dapat diatur dalam sintaks elemen properti XAML, atau dalam kode menggunakan SetValue. x:Name hanya dapat diatur menggunakan sintaks atribut XAML pada elemen.
Nota
Khusus untuk aplikasi C++/CX, bidang dukungan untuk referensi x:Name tidak dibuat untuk elemen akar file atau halaman XAML. Jika Anda perlu merujuk ke objek root dari kode C++, gunakan API lain atau lakukan penjelajahan pohon. Misalnya Anda dapat memanggil FindName untuk elemen anak bernama yang diketahui lalu memanggil Induk.
x:Nama dan properti Nama lainnya
Beberapa jenis yang digunakan dalam XAML juga memiliki properti bernama Name. Misalnya, FrameworkElement.Name dan TextElement.Name.
Jika Nama tersedia sebagai properti yang dapat diatur pada elemen, Nama dan x:Name dapat digunakan secara bergantian di XAML, tetapi kesalahan menghasilkan jika kedua atribut ditentukan pada elemen yang sama. Ada juga kasus di mana ada properti Nama tetapi hanya-baca (seperti VisualState.Name). Jika demikian, Anda selalu menggunakan x:Name untuk memberikan nama pada elemen tersebut di XAML, dan Name hanya-baca ada untuk beberapa skenario kode yang kurang umum.
PerhatikanFrameworkElement.Name umumnya tidak boleh digunakan sebagai cara untuk mengubah nilai yang awalnya ditetapkan oleh x:Name, meskipun ada beberapa skenario yang merupakan pengecualian untuk aturan umum tersebut. Dalam skenario umum, pembuatan dan definisi namescope XAML adalah operasi prosesor XAML. Memodifikasi FrameworkElement.Name saat runtime dapat mengakibatkan penyelarasan namescope XAML atau penamaan field privat yang tidak konsisten, yang sulit dilacak di kode belakang Anda.
x:Name dan x:Key
x:Name dapat diterapkan sebagai atribut ke elemen dalam ResourceDictionary untuk bertindak sebagai pengganti atribut x:Key. (Ini adalah aturan bahwa semua elemen dalam ResourceDictionary harus memiliki atribut x:Key atau x:Name.) Ini umum untuk animasi Storyboarded. Untuk informasi selengkapnya, lihat bagian ResourceDictionary dan referensi sumber daya XAML.
Windows developer