x:Array İşaretleme Uzantısı

Bir işaretleme uzantısı aracılığıyla XAML'deki nesne dizileri için genel destek sağlar. Bu, [MS-XAML] içindeki XAML türüne karşılık gelir x:ArrayExtension .

XAML Nesne Öğesi Kullanımı

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

XAML Değerleri

Değer Tanım
typeName İçereceği türün x:Array adı. typeName XAML türü tanımlarını içeren bir XAML ad alanı için ön ekli (ve genellikle) olabilir.
arrayContents İç ArrayExtension.Items özelliğine atanan öğe içeriği. Bu öğeler genellikle açma ve kapatma etiketlerinin x:Array içinde yer alan bir veya daha fazla nesne öğesi olarak belirtilir. Burada belirtilen nesnelerin içinde belirtilen XAML türüne atanabilir olması beklenir typeName.

Açıklamalar

Type tüm x:Array nesne öğeleri için gerekli bir özniteliktir. Parametre Type değerinin işaretleme uzantısı kullanması x:Type gerekmez; türün kısa adı dize olarak belirtilebilen bir XAML türüdür.

.NET XAML Hizmetleri uygulamasında, giriş XAML türü ile oluşturulan dizinin çıkış CLR'si Type arasındaki ilişki, işaretleme uzantıları için hizmet bağlamından etkilenir. ÇıkışType, UnderlyingType XAML şema bağlamını ve IXamlTypeResolver bağlamın sağladığı hizmeti temel alarak gerekli XamlType olup olmadığını baktıktan sonra giriş XAML türünün çıkışıdır.

İşlendiğinde, dizi içeriği iç özelliğine ArrayExtension.Items atanır. ArrayExtension Uygulamada, bu ile temsil edilirArrayExtension.Items.

.NET XAML Hizmetleri uygulamasında, bu işaretleme uzantısının işlenmesi sınıfı tarafından ArrayExtension tanımlanır. ArrayExtension korumalı değildir ve özel bir dizi türü için işaretleme uzantısı uygulamasının temeli olarak kullanılabilir.

x:Array daha çok XAML'de genel dil genişletilebilirliği için tasarlanmıştır. Ancak x:Array , yapılandırılmış özellik içeriği olarak XAML tarafından desteklenen koleksiyonları alan belirli özelliklerin XAML değerlerini belirtmek için de yararlı olabilir. Örneğin, kullanımı olan x:Array bir IEnumerable özelliğin içeriğini belirtebilirsiniz.

x:Array bir işaretleme uzantısıdır. Biçimlendirme uzantıları, genellikle öznitelik değerlerinin değişmez değerler veya işleyici isimleri dışına çıkma gereksinimi olduğunda ve bu gereksinim, belirli türler veya özellikler üzerine tür dönüştürücülerini koymaktan daha genel olduğunda uygulanır. x:Array bu kural için kısmen bir özel durumdur çünkü alternatif öznitelik değeri işleme x:Array sağlamak yerine iç metin içeriğinin alternatif işlenmesini sağlar. Bu davranış, var olan bir con çadır modu l tarafından desteklenmeyen türlerin bir dizide gruplanıp adlandırılmış diziye erişerek arka planda kod içinde başvurulabilmesini sağlar; tek tek dizi öğelerini almak için yöntemleri çağırabilirsinizArray.

XAML'deki tüm işaretleme uzantıları, XAML işlemcisinin bir işaretleme uzantısının öznitelik değerini işlemesi gerektiğini tanıdığı kural olan öznitelik söz diziminde ayraçları ({,}) kullanır. Genel olarak işaretleme uzantıları hakkında daha fazla bilgi için bkz . XAML için Tür Dönüştürücüleri ve İşaretlemeyi Genişletmeleri.

XAML 2009'da, x:Array işaretleme uzantısı yerine dil temel bilgisi olarak tanımlanır. Daha fazla bilgi için bkz . Ortak XAML Dil Temel Bilgileri için Yerleşik Türler.

WPF Kullanım Notları

Normalde, bir x:Array öğesini dolduran nesne öğeleri WPF XAML ad alanında var olan öğeler değildir ve varsayılan olmayan bir XAML ad alanına bir ön ek eşlemesi gerektirir.

Örneğin, aşağıdaki iki dizeden sys oluşan basit bir dizidir ve ön eki (ve aynı zamanda x) dizinin düzeyinde tanımlanmıştır.

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

Dizi öğeleri olarak kullanılan özel türler için, sınıfın XAML'de nesne öğeleri olarak örneklenme gereksinimlerini de desteklemesi gerekir. Daha fazla bilgi için bkz . WPF için XAML ve Özel Sınıflar.

Ayrıca bkz.