XAML

EXtensible Application Markup Language (XAML), nesneleri örneklemek ve başlatmak ve bu nesneleri üst-alt 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, XAML'nin XAML tabanlı veri bağlamaları aracılığıyla viewmodel koduna bağlı görünümü tanımladığı Model-View-ViewModel (MVVM) deseniyle de kullanıma uygundur.

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 zamanında ayrıştırılır ve çalışma zamanında XAML tarafından temsil edilen nesneler örneği oluşturulur ve 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 ve CollectionViewgibi ListView 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 kullanıcı arabiriminizi düzenlerken görüntülemek için XAML çalışırken yeniden yükleme özelliğini kullanabilirsiniz.

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.