Aracılığıyla paylaş


içindeki 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ılmıştır ve bir türe erişmek için bir XAML ad alanı bildirmeyi gösterir.

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ı, ön eki olmayan XAML dosyasında tanımlanan öğelerin gibi ContentPagesınıflara başvurduğunu Xamarin.Forms belirtir.

İkinci ad alanı bildirimi, aşağıdaki XAML kod örneğinde gösterildiği gibi ön ekini kullanır x :

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

XAML, varsayılan olmayan ad alanlarını bildirmek için ön ekleri kullanır ve ön ek ad alanı içindeki türlere başvururken kullanılır. Ad alanı bildirimi, x XAML içinde bir ön eki x ile tanımlanan öğelerin XAML'ye (özellikle 2009 XAML belirtimi) yönelik öğeler ve öznitelikler için kullanıldığını belirtir.

Aşağıdaki tabloda tarafından Xamarin.Formsdesteklenen ad alanı öznitelikleri özetlenmektedirx:

Oluştur Açıklama
x:Arguments Varsayılan olmayan bir oluşturucu veya 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 planda kod dosyasının sınıf adıyla eşleşmelidir. Bu yapı yalnızca bir XAML dosyasının kök öğesinde görünebilir.
x:DataType XAML öğesinin ve alt öğelerinin bağlanacağı nesnenin türünü belirtir.
x:FactoryMethod Bir nesneyi başlatmak için kullanılabilecek bir fabrika yöntemi belirtir.
x:FieldModifier Adlandırılmış XAML öğeleri için oluşturulan alanların erişim düzeyini belirtir.
x:Key içindeki her kaynak ResourceDictionaryiçin benzersiz bir kullanıcı tanımlı anahtar belirtir. Anahtarın değeri XAML kaynağını almak için kullanılır ve genellikle işaretleme uzantısı için StaticResource bağımsız değişken olarak kullanılır.
x:Name XAML öğesi için bir çalışma zamanı nesne adı belirtir. Ayar x:Name , kodda değişken bildirmeye benzer.
x:TypeArguments Bir genel türün oluşturucusunun genel tür bağımsız değişkenlerini belirtir.

Özniteliği hakkında x:DataType daha fazla bilgi için bkz . Derlenmiş Bağlamalar. Öznitelik hakkında x:FieldModifier daha fazla bilgi için bkz . Alan Değiştiriciler. ve öznitelikleri hakkında x:Arguments daha fazla bilgi için bkz. XAML'de Bağımsız Değişkenleri Geçirme.x:FactoryMethod özniteliği hakkında x:TypeArguments daha fazla bilgi için bkz . ile Xamarin.FormsXAML'de genel değerler.

Not

Yukarıda listelenen ad alanı özniteliklerine ek olarak, Xamarin.Forms ad alanı ön eki aracılığıyla x kullanılabilecek işaretleme uzantılarını da içerir. Daha fazla bilgi için bkz . XAML biçimlendirme uzantılarını kullanma.

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 dosyadaki tüm öğeler ad alanı bildirimini devralır.

Türler için Ad Alanlarını Bildirme

Türler, XAML'de ön ekli bir XAML ad alanı bildirilerek, ad alanı bildirimi Ortak Dil Çalışma Zamanı (CLR) ad alanı adını ve isteğe bağlı olarak bir derleme adını belirterek başvurulabilir. Bu, ad alanı bildiriminde aşağıdaki anahtar sözcükler için değerler tanımlanarak elde edilir:

  • clr-namespace: veya using: – XAML öğeleri olarak kullanıma sunma türlerini 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şturulmalıdır. Clr-namespace değeri türlere başvuran uygulama koduyla aynı derleme içindeyse bu anahtar sözcük atlanabilir.

veya using belirtecini değerinden ayıran karakterin clr-namespace iki nokta üst üste olduğunu, belirteci değerinden ayıran karakterin assembly ise eşittir işareti olduğunu unutmayın. İki belirteç arasında kullanılacak karakter noktalı virgüldür.

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ılabilir:

<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 derlemedeyse, derleme adı aşağıdaki XAML kod örneğinde gösterildiği gibi ad alanı bildiriminde de tanımlanmalıdır:

<ContentPage ... xmlns:behaviors="clr-namespace:Behaviors;assembly=BehaviorsLibrary" ...>
  ...
</ContentPage>

Ad alanı ön eki, aşağıdaki XAML kod örneğinde gösterildiği gibi içeri aktarılan bir ad alanından tür örneği bildirilirken 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 bildirıldığı gösterilmiştir. XAML, ad alanı bildirimleri için XML özniteliğini kullanır xmlns ve ön ekli bir XAML ad alanı bildirilerek XAML'de türlere başvurulabilir.