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
.NET Desktop feedback