Sdílet prostřednictvím


x:Array – rozšíření značek

Poskytuje obecnou podporu polí objektů v XAML prostřednictvím rozšíření značek. x:ArrayExtension Odpovídá typu XAML v [MS-XAML].

Použití elementu objektu XAML

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

Hodnoty XAML

Hodnota Popis
typeName Název typu, který x:Array bude obsahovat. typeName může být (a často je) předponou pro obor názvů XAML, který obsahuje definice typu XAML.
arrayContents Obsah položek přiřazený k vnitřní ArrayExtension.Items vlastnosti. Obvykle se tyto položky zadají jako jeden nebo více prvků objektu obsažených x:Array v počátečních a uzavíracích značek. Očekává se, že zde zadané objekty budou možné přiřadit k typu XAML zadanému v typeName.

Poznámky

Type je povinný atribut pro všechny x:Array elementy objektu. Type Hodnota parametru x:Type nemusí používat rozšíření značek; krátký název typu je typ XAML, který lze zadat jako řetězec.

V implementaci služby .NET XAML Services je vztah mezi vstupním typem XAML a výstupním CLR Type vytvořeného pole ovlivněn kontextem služby pro rozšíření značek. Výstupem Type je UnderlyingType vstupní typ XAML po vyhledání potřebného XamlType kontextu schématu XAML a IXamlTypeResolver služby, která poskytuje kontext.

Při zpracování se obsah pole přiřadí vnitřní ArrayExtension.Items vlastnosti. V implementaci ArrayExtension je to reprezentováno ArrayExtension.Items.

V implementaci služby .NET XAML Services je zpracování pro toto rozšíření značek definováno ArrayExtension třídou. ArrayExtension není zapečetěna a lze ji použít jako základ pro implementaci rozšíření značek pro vlastní typ pole.

x:Array je určena pro obecné rozšíření jazyka v JAZYCE XAML. Může ale x:Array být také užitečné pro zadání hodnot XAML určitých vlastností, které jako obsah strukturovaných vlastností využívají kolekce podporované XAML. Můžete například zadat obsah IEnumerable vlastnosti s x:Array použitím.

x:Array je rozšíření značek. Rozšíření značek jsou obvykle implementována v případě požadavku, aby díky použití řídicí sekvence mohly být hodnoty atributů něčím jiným než literálními hodnotami nebo názvy obslužných rutin, a tento požadavek má tak rozsáhlou platnost, že nestačí jednoduše použít převaděče typů pro určité typy nebo vlastnosti. x:Array je částečně výjimkou tohoto pravidla, protože místo poskytování zpracování x:Array hodnot alternativních atributů poskytuje alternativní zpracování jeho vnitřního textového obsahu. Toto chování umožňuje typy, které nemusí být podporovány existujícím con režim stanu l seskupit do pole a odkazovat na později v kódu pomocí přístupu k pojmenované matici; můžete volat Array metody pro získání jednotlivých položek pole.

Všechna rozšíření značek v XAML používají složené závorky ({,}) v syntaxi atributu, což je konvence, kterou procesor XAML rozpozná, že rozšíření značek musí zpracovat hodnotu atributu. Další informace o rozšíření značek obecně naleznete v tématu Převaděče typů a rozšíření značek pro XAML.

V XAML 2009 x:Array je definován jako jazyk primitivní místo rozšíření značek. Další informace naleznete v tématu Předdefinované typy pro běžné primitivy jazyka XAML.

Poznámky k využití WPF

Elementy objektu, které naplňují x:Array , nejsou prvky, které existují v oboru názvů WPF XAML, a vyžadují mapování předpony na jiný než výchozí obor názvů XAML.

Následující příklad je jednoduchá matice dvou řetězců s předponou sys (a také x) definovanou na úrovni pole.

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

Pro vlastní typy, které se používají jako prvky pole, třída musí také podporovat požadavky na vytvoření instance v XAML jako objektové prvky. Další informace naleznete v tématu XAML a vlastní třídy pro WPF.

Viz také