Compartilhar via


x:Array de marcação de extensão

Fornece suporte geral para matrizes de objetos XAML.

Uso do elemento Object em XAML

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

Valores de XAML

typeName

O nome do tipo que seu x:Array conterá, que geralmente exige um prefixo. Consulte Comentários.

arrayObject1, arrayObject2, etc.

Elementos objeto que definem o conteúdo da sua matriz. Consulte Comentários.

Comentários

Type é um atributo necessário para todos os elementos x:Array de objeto.

Na implementação de processador XAML WPF, o tratamento para esta extensão de marcação é definida pela classe ArrayExtension. Esta classe não é fechada e pode ser usado como a base para uma implementação de extensão de marcação para um tipo personalizado de matriz.

x:Array é mais destinado para extensibilidade geral de idioma no XAML. Mas x:Array também pode ser útil para preencher determinadas propriedades usando XAML que recebem coleções de classes ou interfaces gerais de suporte como sua propriedade estruturada conteúdo, por exemplo, como IEnumerable.

Normalmente, os elementos do objeto que preenchem um x:Array não são elementos que existem no WPF namespace de XML e exigirá um mapeamento de prefixo.

Por exemplo, a seguir é uma matriz simples de duas sequências de caracteres, com o prefixo sys (bem como x)definidos no nível da 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 obter mais informações, consulte Extensão de Marcação e XAML e Espaços de nomes XAML e mapeamentos de espaços de nomes. Os elementos da matriz devem também oferecer suporte aos requisitos de serem instanciados em XAML como elementos de objeto. Para obter detalhes, consulte:XAML e classes personalizadas.

x:Array é uma extensão de marcação. Extensões de marcação são tipicamente implementadas quando existe um requisito de escapar valores de atributo para serem diferentes de valores literais ou nomes de manipuladores, e o requisito é mais global do que simplesmente colocar conversores de tipo em certos tipos ou propriedades. x:Array é um pouco de uma exceção a essa regra geral, porque em vez de fornecer tratamento de valor alternativo de atributo, x:Array Fornece tratamento alternativo de seu conteúdo de texto interno. Isso fornece suporte para que as classes de elementos que não podem ser suportadas por qualquer modelo de conteúdo existente possam ser agrupadas em uma matriz e podem ser referenciadas posteriormente no código, acessando a matriz nomeada e chamando métodos de matriz para obter itens individuais de matriz.

Todas as extensões de marcação no XAML usam os caracteres { e } em sua sintaxe de atributo, que é a convenção pela qual o processador XAML reconhece que uma extensão de markup precisa processar o atributo. Para obter detalhes sobre extensões de marcação em geral, consulte Extensão de Marcação e XAML.

Consulte também

Conceitos

Styling and Templating

XAML Overview

Extensão de Marcação e XAML