içinde XAML Ad Alanları Xamarin.Forms
XAML, ad alanı bildirimleri için xmlns XML özniteliğini kullanır. Bu makalede, XAML ad alanı söz dizimi tanıt ve bir türe erişmek için bir XAML ad alanının nasıl bildiril olduğu açıklanmıştır.
Genel Bakış
Her zaman bir XAML dosyasının kök öğesi içinde olan iki XAML ad alanı bildirimi vardır. İlki, aşağıdaki XAML kod örneğinde gösterildiği gibi varsayılan ad alanını tanımlar:
xmlns="http://xamarin.com/schemas/2014/forms"
Varsayılan ad alanı, XAML dosyasında tanımlanan ve ön ekleri olan öğelerin gibi Xamarin.Forms sınıflara başvurarak olduğunu ContentPage belirtir.
İkinci ad alanı bildirimi, x aşağıdaki XAML kod örneğinde gösterildiği gibi ön eki kullanır:
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
XAML, varsayılan olmayan ad alanlarını bildiren ön ekleri kullanır ve ön ek ad alanı içindeki türlere başvururken kullanılır. Ad alanı bildirimi, ön eki ile XAML içinde tanımlanan öğelerin XAML'ye yönelik iç öğeler ve öznitelikler xx (özellikle 2009 XAML belirtimi) için kullanıla olduğunu belirtir.
Aşağıdaki tablo tarafından desteklenen x ad alanı özniteliklerini özetler: Xamarin.Forms
| Oluştur | Description |
|---|---|
x:Arguments |
Varsayılan olmayan bir oluşturucu veya bir fabrika yöntemi nesne bildirimi için oluşturucu bağımsız değişkenlerini belirtir. |
x:Class |
XAML'de tanımlanan bir sınıfın ad alanını ve sınıf adını belirtir. Sınıf adı, arka arkasındaki kod dosyasının sınıf adıyla eşleşmeli. Bu yapının yalnızca bir XAML dosyasının kök öğesinde görünebilirsiniz. |
x:DataType |
XAML öğesinin ve alt öğenin bağlanacağını nesnenin türünü belirtir. |
x:FactoryMethod |
Bir nesneyi başlatmak için kullanılan bir fabrika yöntemini belirtir. |
x:FieldModifier |
Adlandırılmış XAML öğeleri için oluşturulan alanların erişim düzeyini belirtir. |
x:Key |
bir içinde her kaynak için benzersiz bir kullanıcı tanımlı anahtar ResourceDictionary belirtir. Anahtarın değeri XAML kaynağını almak için kullanılır ve genellikle işaretleme uzantısı için bağımsız değişken StaticResource olarak kullanılır. |
x:Name |
XAML öğesi için bir çalışma zamanı nesnesi adı belirtir. Ayar, x:Name kodda bir değişken bildirerek benzerdir. |
x:TypeArguments |
Genel türün oluşturucusu için genel tür bağımsız değişkenlerini belirtir. |
özniteliği hakkında daha fazla x:DataType bilgi için x:DataType özniteliği hakkında daha fazla x:FieldModifier bilgi için x:FieldModifier ve öznitelikleri hakkında daha x:Arguments fazla x:FactoryMethod bilgi için bkz. x:Arguments özniteliği hakkında daha fazla x:TypeArguments bilgi için bkz. Generics in XAML with Xamarin.Forms .
Not
Yukarıda listelenen ad alanı özniteliklerine ek olarak, ad alanı Xamarin.Forms ön eki aracılığıyla tüketilebilir işaretleme x uzantılarını da içerir. Daha fazla bilgi için, bkz. Consuming XAML Markup Extensions.
XAML'de ad alanı bildirimleri üst öğeden alt öğeye devralır. Bu nedenle, bir XAML dosyasının kök öğesinde bir ad alanı tanımlarken, bu dosya içindeki tüm öğeler ad alanı bildirimini devralır.
Türler için Ad Alanlarını Bildirim
Türlere XAML'de, ad alanı bildirimi Ortak Dil Çalışma Zamanı (CLR) ad alanı adını ve isteğe bağlı olarak bir derleme adı belirterek ön ekli bir XAML ad alanı bildirerek başvurulabiliyor. Bu, ad alanı bildiriminde aşağıdaki anahtar sözcükler için değerler tanımlayarak elde edilir:
- clr-namespace: veya using: – XAML öğeleri olarak ortaya konan türleri içeren derleme içinde bildirilen CLR ad alanı. Bu anahtar sözcük gereklidir.
- assembly= – Başvurulan CLR ad alanını içeren derleme. Bu değer, dosya uzantısı olmadan derlemenin adıdır. Derlemenin yolu, derlemeye başvuracak XAML dosyasını içeren proje dosyasında bir başvuru olarak oluşturulacak. Clr-namespace değeri türlere başvuran uygulama koduyla aynı derleme içinde yer alırsa bu anahtar sözcük atlanabilir.
Veya belirteci değerinden ayıran karakterin iki nokta üst üste olduğunu, belirteci değerinden ayıran karakterin ise clr-namespaceusing eşittir işareti olduğunu assembly unutmayın. İki belirteç arasında kullanabileceğiniz karakter noktalı virgül olur.
Aşağıdaki kod örneği bir XAML ad alanı bildirimini gösterir:
<ContentPage ... xmlns:local="clr-namespace:HelloWorld" ...>
...
</ContentPage>
Alternatif olarak, bu şu şekilde yaz olabilir:
<ContentPage ... xmlns:local="using:HelloWorld" ...>
...
</ContentPage>
Ön local ek, ad alanı içindeki türlerin uygulama için yerel olduğunu belirtmek için kullanılan bir kuraldır. Alternatif olarak, türler farklı bir derlemede ise, derleme adı aşağıdaki XAML kod örneğinde olduğu gibi ad alanı bildiriminde de tanımlanmalıdır:
<ContentPage ... xmlns:behaviors="clr-namespace:Behaviors;assembly=BehaviorsLibrary" ...>
...
</ContentPage>
Daha sonra, aşağıdaki XAML kod örneğinde olduğu gibi, ad alanı ön eki, içe aktarılan bir ad alanının türünden bir örneği bildiriliyorsa belirtilir:
<ListView ...>
<ListView.Behaviors>
<behaviors:EventToCommandBehavior EventName="ItemSelected" ... />
</ListView.Behaviors>
</ListView>
Özel ad alanı şeması tanımlama hakkında bilgi için bkz. XAML Özel Ad Alanı Şemaları.
Özet
Bu makalede XAML ad alanı söz dizimi tanıtıldı ve bir türe erişmek için bir XAML ad alanının nasıl bildiril olduğu açıklandı. XAML, ad alanı bildirimleri için XML özniteliğini kullanır ve ön ek içeren bir XAML ad alanı bildirerek xmlns XAML'de türlere başvurulmalıdır.