Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje obecnou podporu polí objektů v XAML prostřednictvím rozšíření značek. Odpovídá x:ArrayExtension 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ý bude x:Array obsahovat.
typeName může být (a často je) předponou oboru názvů XAML, který obsahuje definice typu XAML. |
arrayContents |
Obsah položek, který je přiřazen vnitřní ArrayExtension.Items vlastnost. Tyto položky jsou obvykle určeny jako jeden nebo více prvků objektu obsažených v x:Array otevírání a zavírání značek. Očekává se, že objekty zadané zde budou možné přiřadit k typu XAML zadanému v typeName. |
Poznámky
Type je povinný atribut pro všechny prvky objektu x:Array. Hodnota parametru Type nemusí používat rozšíření x:Type 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ýstupní Type je UnderlyingType vstupního typu XAML po vyhledání potřebného XamlType na základě kontextu schématu XAML a služby IXamlTypeResolver poskytuje kontext.
Při zpracování se obsah pole přiřadí k vnitřní vlastnosti ArrayExtension.Items. V ArrayExtension implementaci je to reprezentováno ArrayExtension.Items.
V implementaci .NET XAML Services je zpracování tohoto rozšíření značek definováno ArrayExtension třídy. ArrayExtension není zapečetěný a lze ho použít jako základ pro implementaci rozšíření značek pro vlastní typ pole.
x:Array je vhodnější pro obecné rozšíření jazyka v JAZYCE XAML. Ale x:Array může být také užitečné pro zadání hodnot XAML určitých vlastností, které přebírají kolekce podporované XAML jako jejich obsah strukturovaných vlastností. Můžete například zadat obsah vlastnosti IEnumerable pomocí x:Array využití.
x:Array je rozšíření značek. Rozšíření značek se obvykle implementují, pokud existuje požadavek, aby hodnoty řídicích atributů byly jiné než literální hodnoty nebo názvy obslužných rutin, a požadavek je více globální než pouhé vkládání převaděčů typů na určité typy nebo vlastnosti.
x:Array je částečně výjimkou tohoto pravidla, protože místo poskytování zpracování hodnot alternativních atributů poskytuje x:Array alternativní zpracování vnitřního textového obsahu. Toto chování umožňuje, aby se typy, které existující model obsahu nepodporuje, seskupily do pole a odkazovaly se 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 je x:Array definován jako primitivní jazyk místo rozšíření značek. Další informace naleznete v tématu předdefinované typy pro common XAML Language Primitives.
Poznámky k využití WPF
Elementy objektu, které naplňují x:Array, obvykle 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ásleduje například jednoduché pole 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ích tříd pro WPF.
Viz také
- rozšíření značek a WPF XAML
- typy migrované z WPF do System.Xaml
.NET Desktop feedback