Condividi tramite


Estensione del markup x:Array

Aggiornamento: novembre 2007

Fornisce supporto generico per le matrici di oggetti in XAML.

Utilizzo della sintassi XAML per gli elementi oggetto

<object>
  <object.property>
    <x:Array Type="typeName">
      <arrayObject1/>
      <arrayObject2/>
      ...
    </x:Array>
  </object.property>
<object>

Valori XAML

typeName

Nome del tipo contenuto nell'oggetto x:Array, che spesso richiede un prefisso. Vedere la sezione Osservazioni.

arrayObject1, arrayObject2, ecc.

Elementi oggetto che definiscono il contenuto della matrice. Vedere la sezione Osservazioni.

Note

L'oggetto Type è un attributo necessario per tutti gli elementi oggetto x:Array.

Nell'implementazione del processore XAML WPF, la gestione di questa estensione di markup viene definita dalla classe ArrayExtension. Tale classe non è sealed e potrebbe essere utilizzata come base per l'implementazione di un'estensione di markup per un tipo di matrice personalizzato.

L'oggetto x:Array è destinato maggiormente all'estensibilità del linguaggio generale in XAML. Tuttavia, x:Array può essere utile anche per popolare determinate proprietà mediante XAML che accetta interfacce o classi generali di supporto degli insiemi come contenuto della proprietà strutturato, ad esempio come oggetto IEnumerable.

Gli elementi oggetto che popolano un oggetto x:Array in genere non sono elementi che esistono nello spazio dei nomi XML di WPF e richiedono un mapping del prefisso.

Ad esempio, gli elementi seguenti sono una semplice matrice di due stringhe, con il prefisso sys (nonché x) definito a livello della matrice:

[xaml]

<x:Array Type="sys:String" xmlns:x=https://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>

Per ulteriori informazioni, vedere Estensioni di markup e XAML e Spazi dei nomi XAML e mapping dello spazio dei nomi. Gli elementi matrice devono inoltre supportare i requisiti che ne consentono la creazione di istanze in XAML come elementi oggetto. Per informazioni dettagliate, vedere XAML e classi personalizzate.

x:Array è un'estensione di markup. In genere, le estensioni di markup vengono implementate quando i valori dell'attributo dei caratteri escape non devono essere valori letterali o nomi di gestori e questo requisito è più globale del semplice utilizzo di convertitori dei tipi su alcuni tipi o proprietà. x:Array rappresenta in un certo senso un'eccezione a tale regola generale, in quanto anziché fornire la gestione alternativa del valore dell'attributo, fornisce la gestione alternativa del relativo contenuto di testo interno. In tal modo, le classi di elementi che non potrebbero essere supportate da alcun modello di contenuto esistente possono essere raggruppate in una matrice e utilizzate come riferimento in un secondo momento all'interno del code-behind mediante l'accesso alla matrice denominata e la chiamata ai metodi della matrice per ottenere singoli elementi della matrice.

Tutte le estensioni di markup in XAML utilizzano i caratteri { e } nella relativa sintassi degli attributi, vale a dire la convenzione in base alla quale il processore XAML riconosce che l'attributo deve essere elaborato da un'estensione di markup. Per informazioni dettagliate sulle estensioni di markup, vedere Estensioni di markup e XAML.

Vedere anche

Concetti

Applicazione di stili e modelli

Cenni preliminari su XAML

Estensioni di markup e XAML