Compartir a través de


Extensión de marcado x:Array

Actualización: noviembre 2007

Proporciona compatibilidad general para las matrices de objetos en XAML.

Uso de elementos de objeto XAML

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

Valores XAML

typeName

El nombre del tipo que x:Array contendrá, que requiere a menudo un prefijo. Vea Comentarios.

arrayObject1,arrayObject2, etc.

Elementos de objeto que definen el contenido de la matriz. Vea Comentarios.

Comentarios

Type es un atributo necesario para todos los elementos de objeto x:Array.

La clase ArrayExtension define el control para esta extensión de marcado en la implementación del procesador XAML de WPF. Esta clase no es de tipo sealed, y se puede utilizar como base para una implementación de extensión de marcado para un tipo de matriz personalizado.

x:Array está pensada más concretamente para la extensibilidad de lenguaje general en XAML. No obstante, x:Array también puede resultar útil para rellenar algunas propiedades mediante XAML que aceptan interfaces o clases de compatibilidad con colecciones generales como contenido de propiedad estructurado, como IEnumerable, por ejemplo.

Los elementos de objeto que rellenan una matriz x:Array no suelen existir en el espacio de nombres XML de WPF y requieren una asignación de prefijo.

Por ejemplo, a continuación se muestra una matriz simple de dos cadenas, con el prefijo sys (así como x) definido en el nivel de la matriz:

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

Para obtener más información, vea Extensiones de marcado y XAML y Espacios de nombres y asignación de espacios de nombres de XAML. Los elementos de la matriz también deben admitir los requisitos para crear instancias de ellos en XAML como elementos de objeto. Para obtener información más detallada, vea XAML y clases personalizadas.

x:Array es una extensión de marcado. Las extensiones de marcado suelen implementarse cuando se necesita utilizar valores de atributos que no sean valores literales o nombres de controladores, y se trata de un requisito global que no se cubre con sólo incluir convertidores de tipos en determinados tipos o propiedades. En cierto modo, x:Array constituye una excepción a esa regla general, porque en lugar de proporcionar administración alternativa de valores de atributos, x:Array proporciona la administración alternativa de su contenido de texto interno. Esto proporciona una compatibilidad que permite agrupar en una matriz clases de elementos que podrían no ser compatibles con ningún modelo de contenido existente, y hacer referencia a ellas posteriormente en el código subyacente teniendo acceso a la matriz con nombre y llamando a métodos de matriz para obtener los elementos individuales que la componen.

Todas las extensiones de marcado de XAML utilizan los caracteres { y } en su sintaxis de atributo, que es la convención que permite que un procesador XAML reconozca que el atributo se debe procesar mediante una extensión de marcado. Para obtener información detallada sobre las extensiones de marcado en general, vea Extensiones de marcado y XAML.

Vea también

Conceptos

Aplicar estilos y plantillas

Información general sobre XAML

Extensiones de marcado y XAML