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.
Menyediakan dukungan umum untuk array objek di XAML melalui ekstensi markup. Ini sesuai dengan jenis XAML x:ArrayExtension di [MS-XAML].
Penggunaan Elemen Objek XAML
<x:Array Type="typeName">
arrayContents
</x:Array>
Nilai XAML
| Nilai | Deskripsi |
|---|---|
typeName |
Nama jenis yang akan dimuat x:Array Anda.
typeName mungkin (dan sering kali) diawali untuk namespace XAML yang berisi definisi jenis XAML. |
arrayContents |
Konten item yang ditetapkan ke properti ArrayExtension.Items intrinsik. Biasanya, item ini ditentukan sebagai satu atau beberapa elemen objek yang terkandung dalam tag buka dan tutup x:Array. Objek yang ditentukan di sini diharapkan dapat ditetapkan ke jenis XAML yang ditentukan dalam typeName. |
Komentar
Type adalah atribut yang diperlukan untuk semua elemen objek x:Array. Nilai parameter Type tidak perlu menggunakan ekstensi markup x:Type; nama pendek jenis adalah jenis XAML, yang dapat ditentukan sebagai string.
Dalam implementasi Layanan XAML .NET, hubungan antara jenis XAML input dan Type CLR output dari array yang dibuat dipengaruhi oleh konteks layanan untuk ekstensi markup. Output Type adalah UnderlyingType dari jenis XAML input, setelah mencari XamlType yang diperlukan berdasarkan konteks skema XAML dan layanan IXamlTypeResolver yang disediakan konteks.
Saat diproses, konten array ditetapkan ke properti intrinsik ArrayExtension.Items. Dalam implementasi ArrayExtension, ini diwakili oleh ArrayExtension.Items.
Dalam implementasi Layanan XAML .NET, penanganan untuk ekstensi markup ini ditentukan oleh kelas ArrayExtension. ArrayExtension tidak disegel, dan dapat digunakan sebagai dasar untuk implementasi ekstensi markup untuk jenis array kustom.
x:Array lebih ditujukan untuk ekstensibilitas bahasa umum di XAML. Tetapi x:Array juga dapat berguna untuk menentukan nilai XAML dari properti tertentu yang mengambil koleksi yang didukung XAML sebagai konten properti terstrukturnya. Misalnya, Anda dapat menentukan konten properti IEnumerable dengan penggunaan x:Array.
x:Array adalah ekstensi markup. Ekstensi markup biasanya diimplementasikan ketika ada persyaratan untuk meloloskan nilai atribut menjadi selain nilai harfiah atau nama handler, dan persyaratannya lebih global daripada hanya menempatkan pengonversi jenis pada jenis atau properti tertentu.
x:Array sebagian merupakan pengecualian untuk aturan tersebut karena alih-alih memberikan penanganan nilai atribut alternatif, x:Array menyediakan penanganan alternatif dari konten teks dalamnya. Perilaku ini memungkinkan jenis yang mungkin tidak didukung oleh model konten yang ada untuk dikelompokkan ke dalam array dan direferensikan nanti di code-behind dengan mengakses array bernama; Anda dapat memanggil metode Array untuk mendapatkan item array individual.
Semua ekstensi markup di XAML menggunakan kurung kurawal ({,}) dalam sintaks atributnya, yang merupakan konvensi di mana prosesor XAML mengenali bahwa ekstensi markup harus memproses nilai atribut. Untuk informasi selengkapnya tentang ekstensi markup secara umum, lihat Jenis Pengonversi dan Ekstensi Markup untuk XAML.
Dalam XAML 2009, x:Array didefinisikan sebagai bahasa primitif alih-alih ekstensi markup. Untuk informasi selengkapnya, lihat Jenis Bawaan untuk Common XAML Language Primitives.
Catatan Penggunaan WPF
Biasanya, elemen objek yang mengisi x:Array bukan elemen yang ada di namespace layanan WPF XAML, dan memerlukan pemetaan awalan ke namespace XAML non-default.
Misalnya, berikut ini adalah array sederhana dari dua string, dengan awalan sys (dan juga x) yang ditentukan pada tingkat array.
<x:Array Type="sys:String"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<sys:String>Hello</sys:String>
<sys:String>World</sys:String>
</x:Array>
Untuk jenis kustom yang digunakan sebagai elemen array, kelas juga harus mendukung persyaratan untuk dibuat dalam XAML sebagai elemen objek. Untuk informasi selengkapnya, lihat XAML dan Kelas Kustom untuk WPF.
Lihat juga
- Ekstensi Markup dan WPF XAML
- Jenis Dimigrasikan dari WPF ke System.Xaml
.NET Desktop feedback