atribut x:Key

Secara unik mengidentifikasi elemen yang dibuat dan direferensikan sebagai sumber daya, dan yang ada dalam ResourceDictionary.

Penggunaan atribut XAML

<ResourceDictionary>
  <object x:Key="stringKeyValue".../>
</ResourceDictionary>

Penggunaan atribut XAML ( ResourceDictionary implisit)

<object.Resources>
  <object x:Key="stringKeyValue".../>
</object.Resources>

Nilai XAML

Istilah Deskripsi
objek Objek apa pun yang dapat dibagikan. Lihat Referensi sumber daya ResourceDictionary dan XAML.
stringKeyValue String benar yang digunakan sebagai kunci, yang harus sesuai dengan tata bahasa XamlName> . Lihat "Tata bahasa XamlName" di bawah ini.

Tata bahasa XamlName

Berikut ini adalah tata bahasa normatif untuk string yang digunakan sebagai kunci dalam implementasi XAML Platform Windows Universal (UWP):

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.

Keterangan

Elemen anak dari ResourceDictionary umumnya menyertakan atribut x:Key yang menentukan nilai kunci unik dalam kamus tersebut. Keunikan utama diberlakukan pada waktu muat oleh prosesor XAML. Nilai x:Key yang tidak unik akan menghasilkan pengecualian penguraian XAML. Jika diminta oleh ekstensi markup {StaticResource}, kunci yang tidak diselesaikan juga akan menghasilkan pengecualian penguraian XAML.

x:Key dan x:Name bukan konsep yang identik. x:Kunci digunakan secara eksklusif dalam kamus sumber daya. x:Name digunakan untuk semua area XAML. Panggilan FindName menggunakan nilai kunci tidak akan mengambil sumber daya kunci. Objek yang ditentukan dalam kamus sumber daya mungkin memiliki x:Key, x:Name atau keduanya. Kunci dan nama tidak diperlukan untuk mencocokkan.

Perhatikan bahwa dalam sintaks implisit yang ditampilkan, objek ResourceDictionary bersifat implisit dalam cara prosesor XAML menghasilkan objek baru untuk mengisi kumpulan Sumber Daya .

Kode yang setara dengan menentukan x:Key adalah operasi apa pun yang menggunakan kunci dengan ResourceDictionary yang mendasarinya. Misalnya, x:Key yang diterapkan dalam markup untuk sumber daya setara dengan nilai parameter kunciInsert saat Anda menambahkan sumber daya ke ResourceDictionary.

Item dalam kamus sumber daya dapat menghilangkan nilai untuk x:Key jika merupakan Gaya atau ControlTemplate yang ditargetkan; dalam setiap kasus ini, kunci implisit item sumber daya adalah nilai TargetType yang ditafsirkan sebagai string. Untuk informasi selengkapnya, lihat Mulai Cepat: kontrol gaya dan referensi sumber daya ResourceDictionary dan XAML.