x:Array İşaretleme Uzantısı

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

XAML Nesne Öğesi Kullanımı

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

XAML Değerleri

typeName Içerecek türünüz x:Array adı. typeName , XAML tür tanımlarını içeren bir XAML ad alanı için önek olarak (ve genellikle) ön eke sahip olabilir.
arrayContents Iç özelliğine atanan öğeler ArrayExtension.Items içeriği. Genellikle, bu öğeler açma ve kapatma etiketlerinin içinde yer alan bir veya daha x:Array fazla nesne öğeleri olarak belirtilir. Burada belirtilen nesnelerin içinde belirtilen XAML türüne atanabilir olması typeName beklenir.

Açıklamalar

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

.NET XAML Hizmetleri uygulamasında, giriş XAML türü ile oluşturulan dizinin çıkış CLR'si arasındaki ilişki, işaretleme uzantıları için hizmet Type bağlamını etkiler. Çıkış, XAML şema bağlamına ve bağlamın sağladığı hizmete göre gerekli aramadan sonra giriş TypeUnderlyingTypeXamlType XAML IXamlTypeResolver türünün çıkışıdır.

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

.NET XAML Services uygulamasında, bu işaretleme uzantısı için işleme 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ı için temel olarak kullanılabilir.

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

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 , alternatif öznitelik değeri işleme sağlamak yerine iç metin içeriğinin alternatif işlenmesini sağladığı için bu x:Array kuralın kısmen özel durumudur. Bu davranış, var olan bir içerik modeli tarafından desteklenene türlerin bir dizide gruplandırılmalarına ve daha sonra adlandırılmış diziye erişerek arka kodda başvurulmalarına olanak sağlar; tek tek dizi Array öğelerini almak için yöntemleri çağırabilirsiniz.

XAML'deki tüm işaretleme uzantıları, bir XAML işlemcisinin bir işaretleme uzantısının öznitelik değerini işlemesi gerektiğini tanıyan kural olan öznitelik söz dizimlerinde 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 İşaretleme Uzantıları.

XAML 2009'da işaretleme x:Array uzantısı yerine dil temel öğe olarak tanımlanır. Daha fazla bilgi için bkz. Ortak XAML Dili TemelLeri için Yerleşik Türler.

WPF Kullanım Notları

Genellikle, bir'i doldurmak nesne öğeleri WPF XAML ad alanı içinde mevcut öğeler değildir ve varsayılan olmayan bir XAML ad alanına ön ek x:Array eşlemesi gerektirir.

Örneğin, aşağıda, önek (ve aynı zamanda ) dizi düzeyinde tanımlanan iki dizeden basit sys bir dizi yer x amektedir.

<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 ayrıca nesne öğeleri olarak XAML'de örneği oluşturma gereksinimlerini desteklemesi gerekir. Daha fazla bilgi için bkz. WPF için XAML ve Özel Sınıflar.

Ayrıca bkz.