XAML

eXtensible Application Markup Language (XAML), nesneleri örneklemek ve başlatmak, ayrıca bu nesneleri ebeveyn-çocuk hiyerarşilerde düzenlemek için programlama koduna alternatif olan XML tabanlı bir dildir.

XAML, geliştiricilerin kod yerine işaretleme kullanarak .NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) uygulamalarında kullanıcı arabirimleri tanımlamasına olanak tanır. .NET MAUI uygulamasında XAML gerekli değildir, ancak genellikle daha kısa, görsel olarak daha uyumlu ve araç desteğine sahip olduğundan kullanıcı arabiriminizi geliştirmek için önerilen yaklaşımdır. XAML ayrıca Model-View-ViewModel (MVVM) düzeniyle de kullanıma uygundur. Burada XAML, XAML tabanlı veri bağlamaları aracılığıyla viewmodel koduna bağlı görünümü tanımlar.

Bir XAML dosyasında, tüm .NET MAUI görünümlerini, düzenlerini ve sayfalarının yanı sıra özel sınıfları kullanarak kullanıcı arabirimleri tanımlayabilirsiniz. XAML dosyası derlenebilir veya uygulama paketine eklenebilir. Her iki durumda da, XAML, adlandırılmış nesneleri bulmak için derleme aşamasında ayrıştırılır ve çalışma zamanında XAML ile temsil edilen nesnelerin örnekleri oluşturulup başlatılır.

XAML'nin eşdeğer koda göre çeşitli avantajları vardır:

  • XAML genellikle eşdeğer koddan daha kısa ve okunabilirdir.
  • XML'deki üst-alt hiyerarşi, XAML'nin kullanıcı arabirimi nesnelerinin üst-alt hiyerarşisini daha net bir şekilde taklit etmesine olanak tanır.

Ayrıca, çoğunlukla işaretleme dillerine yönelik sınırlamalarla ilgili dezavantajlar da vardır:

  • XAML kod içeremez. Tüm olay işleyicileri bir kod dosyasında tanımlanmalıdır.
  • XAML, yinelenen işlemler için döngüler içeremez. Ancak, ListView ve CollectionView gibi veri koleksiyonlarını görüntüleyen denetimler vardır.
  • XAML koşullu işleme içeremez. Ancak veri bağlama, bazı koşullu işlemelere etkili bir şekilde izin veren kod tabanlı bağlama dönüştürücüye başvurabilir.
  • XAML genellikle parametresiz oluşturucu tanımlamayan sınıfların örneğini oluşturamaz, ancak bu kısıtlama bazen aşılabilir.
  • XAML genellikle yöntemleri çağıramaz, ancak bu kısıtlama bazen aşılabilir.

.NET MAUI uygulamalarında XAML oluşturmak için görsel tasarımcı yoktur. Tüm XAML el ile yazılmalıdır, ancak XAML anında yeniden yükleme özelliğini kullanarak kullanıcı arabiriminizi düzenlerken görüntüleyebilirsiniz.

XAML temelde XML'dir, ancak XAML'nin bazı benzersiz söz dizimi özellikleri vardır. En önemlileri şunlardır:

  • Özellik öğeleri
  • Ekli özellikler
  • İşaretleme uzantıları

Bu özellikler XML uzantıları değildir . XAML tamamen yasal XML'dir. Ancak bu XAML söz dizimi özellikleri XML'i benzersiz şekillerde kullanır.