Partager via


x:Array, extension de balisage

Fournit une prise en charge générale des tableaux d’objets en XAML via une extension de balisage. Cela correspond au x:ArrayExtension type XAML dans [MS-XAML].

Utilisation d'éléments objet XAML

<x:Array Type="typeName">
  arrayContents
</x:Array>

Valeurs XAML

Valeur Description
typeName Nom du type que vous x:Array allez contenir. typeName peut être (et souvent) préfixé pour un espace de noms XAML qui contient les définitions de type XAML.
arrayContents Contenu des éléments affecté à la propriété intrinsèque ArrayExtension.Items . En règle générale, ces éléments sont spécifiés en tant qu’un ou plusieurs éléments d’objet contenus dans les x:Array balises d’ouverture et de fermeture. Les objets spécifiés ici sont censés être assignables au type XAML spécifié dans typeName.

Notes

Type est un attribut obligatoire pour tous les x:Array éléments d’objet. Une Type valeur de paramètre n’a pas besoin d’utiliser une x:Type extension de balisage ; le nom court du type est un type XAML, qui peut être spécifié en tant que chaîne.

Dans l’implémentation des services XAML .NET, la relation entre le type XAML d’entrée et le CLR Type de sortie du tableau créé est influencée par le contexte de service pour les extensions de balisage. La sortie Type est le UnderlyingType type XAML d’entrée, après avoir recherché les éléments nécessaires XamlType en fonction du contexte de schéma XAML et du service fourni par le IXamlTypeResolver contexte.

En cas de traitement, le contenu du tableau est affecté à la ArrayExtension.Items propriété intrinsèque. Dans l’implémentation ArrayExtension , elle est représentée par ArrayExtension.Items.

Dans l’implémentation des services XAML .NET, la gestion de cette extension de balisage est définie par la ArrayExtension classe. ArrayExtension n’est pas scellé et peut être utilisé comme base pour une implémentation d’extension de balisage pour un type de tableau personnalisé.

x:Array est plus destiné à l’extensibilité générale du langage en XAML. Toutefois x:Array , il peut également être utile de spécifier des valeurs XAML de certaines propriétés qui prennent en charge les collections XAML comme contenu de propriété structuré. Par exemple, vous pouvez spécifier le contenu d’une IEnumerable propriété avec une x:Array utilisation.

x:Array est une extension de balisage. Les extensions de balisage sont généralement implémentées pour éviter que les valeurs d’attribut ne soient autre chose que des valeurs littérales ou des noms de gestionnaire et lorsque l’exigence dépasse le cadre de la définition de convertisseurs de type sur certains types ou propriétés. x:Array est partiellement une exception à cette règle, car au lieu de fournir une autre gestion des valeurs d’attribut, x:Array fournit une autre gestion de son contenu texte interne. Ce comportement permet aux types qui peuvent ne pas être pris en charge par un con existant mode tente l d’être regroupés dans un tableau et référencés ultérieurement dans le code-behind en accédant au tableau nommé . Vous pouvez appeler Array des méthodes pour obtenir des éléments de tableau individuels.

Toutes les extensions de balisage en XAML utilisent les accolades ({,}) dans leur syntaxe d’attribut, c’est-à-dire la convention par laquelle un processeur XAML reconnaît qu’une extension de balisage doit traiter la valeur de l’attribut. Pour plus d’informations sur les extensions de balisage en général, consultez Convertisseurs de types et Extensions de balisage pour XAML.

En XAML 2009, x:Array est défini comme une primitive de langage au lieu d’une extension de balisage. Pour plus d’informations, consultez Types intégrés pour les primitives de langage XAML courantes.

Notes d’utilisation WPF

En règle générale, les éléments d’objet qui remplissent un x:Array ne sont pas des éléments qui existent dans l’espace de noms XAML WPF et nécessitent un mappage de préfixe à un espace de noms XAML non défini par défaut.

Par exemple, le tableau suivant est un tableau simple de deux chaînes, avec le sys préfixe (et également x) défini au niveau du tableau.

<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>

Pour les types personnalisés utilisés en tant qu’éléments de tableau, la classe doit également prendre en charge les exigences d’instanciation en XAML en tant qu’éléments d’objet. Pour plus d’informations, consultez XAML et Classes personnalisées pour WPF.

Voir aussi