XAML ad alanları

XAML, ad alanı bildirimleri için XML özniteliğini kullanır xmlns . Her zaman bir XAML dosyasının kök öğesi içinde olan iki XAML ad alanı bildirimi vardır. İlki varsayılan ad alanını tanımlar:

xmlns="http://schemas.microsoft.com/dotnet/2021/maui"

Varsayılan ad alanı, ön eki olmayan XAML dosyasında tanımlanan öğelerin , Labelve Buttongibi ContentPage.NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) sınıflarına başvurduğunu belirtir.

İkinci ad alanı bildirimi ön ekini x kullanır:

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'de 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 .NET MAUI tarafından desteklenen yapılar özetlenmektedir x :

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ştiricileri. ve öznitelikleri hakkında x:Arguments daha fazla bilgi için bkz. Bağımsız değişkenleri geçirme.x:FactoryMethod Özniteliği hakkında x:TypeArguments daha fazla bilgi için bkz . Genel değerler.

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:ClassModifier Derlemede oluşturulan sınıfın erişim düzeyini belirtir.
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:ClassModifier daha fazla bilgi için bkz . Sınıf değiştiricileri. Ö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ştiricileri. ve öznitelikleri hakkında x:Arguments daha fazla bilgi için bkz. Bağımsız değişkenleri geçirme.x:FactoryMethod Özniteliği hakkında x:TypeArguments daha fazla bilgi için bkz . Genel değerler.

Dekont

.NET MAUI, yukarıda listelenen yapılara ek olarak 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 projede 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.

Dekont

veya using belirtecini değerinden clr-namespace ayıran karakter iki nokta üst üste, belirteci değerinden assembly ayıran karakter ise eşittir işaretidir. İ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:MyMauiApp">
  ...
</ContentPage>

Alternatif olarak, bu şu şekilde yazılabilir:

<ContentPage ... xmlns:local="using:MyMauiApp">
  ...
</ContentPage>

Ön local ek, ad alanı içindeki türlerin uygulamada yerel olduğunu belirtmek için kullanılan bir kuraldır. Alternatif olarak, türler farklı bir derlemedeyse, derleme adı da ad alanı bildiriminde tanımlanmalıdır:

<ContentPage ... xmlns:controls="clr-namespace:Controls;assembly=MyControlLibrary" ...>
  ...
</ContentPage>

Ardından, içeri aktarılan bir ad alanından tür örneği bildirilirken ad alanı ön eki belirtilir:

<controls:Expander IsExpanded="True">
    ...
</controls:Expander>

Özel ad alanı şeması tanımlama hakkında bilgi için bkz . Özel ad alanı şemaları.