Bagikan melalui


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