x:Ekstensi Markup Array
Menyediakan dukungan umum untuk array objek di XAML melalui ekstensi markup. Ini sesuai dengan x:ArrayExtension
jenis XAML di [MS-XAML].
Penggunaan Elemen Objek XAML
<x:Array Type="typeName">
arrayContents
</x:Array>
Nilai XAML
Nilai | Deskripsi |
---|---|
typeName |
Nama jenis yang akan Anda x:Array isi. typeName mungkin (dan sering kali) diawali untuk namespace XAML yang berisi definisi jenis XAML. |
arrayContents |
Konten item yang ditetapkan ke properti intrinsik ArrayExtension.Items . Biasanya, item ini ditentukan sebagai satu atau beberapa elemen objek yang terkandung dalam x:Array tag pembuka dan penutup. Objek yang ditentukan di sini diharapkan dapat ditetapkan ke jenis XAML yang ditentukan dalam typeName . |
Keterangan
Type
adalah atribut yang diperlukan untuk semua x:Array
elemen objek. Type
Nilai parameter tidak perlu menggunakan x:Type
ekstensi markup; nama pendek jenisnya adalah jenis XAML, yang dapat ditentukan sebagai string.
Dalam implementasi Layanan XAML .NET, hubungan antara jenis XAML input dan CLR Type output dari array yang dibuat dipengaruhi oleh konteks layanan untuk ekstensi markup. Output Type adalah UnderlyingType dari jenis XAML input, setelah mencari yang diperlukan XamlType berdasarkan konteks skema XAML dan layanan yang IXamlTypeResolver disediakan konteks.
Saat diproses, konten array ditetapkan ke ArrayExtension.Items
properti intrinsik. ArrayExtension Dalam implementasi, ini diwakili oleh ArrayExtension.Items.
Dalam implementasi Layanan XAML .NET, penanganan untuk ekstensi markup ini ditentukan oleh ArrayExtension kelas . 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 terstruktur mereka. Misalnya, Anda dapat menentukan konten IEnumerable properti dengan x:Array
penggunaan.
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
memberikan penanganan alternatif dari konten teks dalamnya. Perilaku ini memungkinkan jenis yang mungkin tidak didukung oleh con mode tenda l yang ada untuk dikelompokkan ke dalam array dan direferensikan nanti di code-behind dengan mengakses array bernama; Anda dapat memanggil Array metode 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 Primitif Bahasa XAML Umum.
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 sys
awalan (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 Kelas XAML dan Kustom untuk WPF.
Baca juga
.NET Desktop feedback