XAML (IPA /ˈzæməl/), (Extensible Application Markup Language) genişletilebilir uygulama biçimlendirme dili. Microsoft'un uygulama arayüzlerinin oluşturulmasını sağlayan tanımlama dili. XAML, geliştiricilerin XML kullanarak tüm .NET kullanıcı arayüz elemanlarının (button, textbox … gibi) çizimlerini (İngilizce: layout) kontrol edebilmelerini sağlar. Her XAML etiketi (tag), özellikleri XML attributeleriyle kontrol edilen bir .NET Framework sınıfına birebir karşılık gelir.
Örneğin <Button> elemanını ele alalım. <Button> tag’i doğrudan System.Windows.Controls.Button sınıfına karşılık gelir. Read-only olan özellikler (Properties) XAML tarafından erişilemez; sadece public, get ve set methodları olan özellikler XAML ile erişilerbilirdir. Event’ler ve handler'ler de XAML attributeleri ile belirtilebilir ve event’in gerçekleşmesi sonucu çalışacak kod da code behind tarafına C# ya da tercihe göre VB.NET ile yazılabilir. Nasıl ki ASP.NET’te kodu ister codebehind sayfasına ya da aspx sayfasına yazılıyorsa burada da codebehind ya da XAML dosyasına yazılabilir.
XAML sayfasına kodu gömülürse, çalıştırmak için önce uygulama derlenmeli. Fakat XAML sayfasına kod yazılmadıysa XAML dosyasına çift tıklayarak Vista üzerinde HTML'de olduğu gibi doğrudan görülebilir.
Windows XP’de ise sonucu görebilmek ya da tarayıcıya yükleyebilmek için XAML sayfalarının önce derlenmesi gerekir.
XAML ağaç modeli
Nasıl ki HTML nesneleri DOM ağaçını oluşturmak için pars edilirse, XAML elemanları da ElementTree
ağacını oluşturmak için de pars edilir.
XAML’ın nesneye dayalı methodolojiye dayandığını söylenebilir. Bir XAML elemanından türetilen başka bir eleman ebeveyninin özelliklerini alır. XAML’dan tam anlamıyla faydalanabilmek için kalıtımın doğasını anlaşılmalıdır. Custom controller, alt sınıflar oluşturularak kullanıcı arayüzü tasarımında kullanılmak üzere XAML geliştiricilerine sunulabilir.
XAML, WPF tarafında tanımlanan nesnelerin XML görünümü olduğu için, XAML elemenları nesne-tabanlı programlama tekniklerini kullanan geliştiriciler tarafından genişletilebilir.
XAML, bir programlama dili değildir. Uygulamaları çalıştırmak için tasarlanmamıştır. XAML dosyaları uygulamalar için kullanıcı arayüz tanımları içerir. Uygulama mantığı ve event handler’ler, codebehind sayfalarında bulunur.
Uygulama ve sayfa tanımı
Uygulama tanımı (İngilizce: application definition) kendi dosyası içinde tanımlanır. Ayarlanması gereken iki özelliği vardır: (İngilizce: namespace) ve başlama URİ'si (İngilizce: startup URI). URI, uygulama çalıştığında yüklenmesi gereken ilk sayfayı belirtir. XAML eleman tanımında ya her eleman için bir ya da Avalon aduzayının kök elemanına referans verilmelidir.
Kökün tanımı
Herhangi bir XAML dosyasında tanımlanan ilk eleman kök (İngilizce: root) elemanıdır. Kök elemanı mutlaka tanımlandığı aduzay referansını içermelidir. Kök elemanlar, diğer XAML elemanları içeren konteynerlerdır. Uygulama tanımı için en yaygın kök (root) eleman NavigationWindow
’dur. Window
elemanıysa oldukça az kullanılmaktadır.
Sayfa tanımı (İngilizce: page definition) için en yaygın kök eleman Panel
ve onun alt sınıfı olan DockPanel
ve StackPanel
elemanları ve de Page
elemanıdır.
İki çeşit XAML uygulaması vardır: doğrudan çalışan (İngilizce: express) ve yerleştirilmiş (İngilizce: installed) uygulama. Doğrudan çalışan uygulama bir Web tarayıcısında koşar. Yerleştirilmiş uygulamalarsa bilinen geleneksel masaüstü uygulamalarıdır.
Tüm XAML özellikleri (İngilizce: attribute) kod tarafında düzenlenebilir. Zaten bu özellikler, CLR sınıf özelliklerinin XML görünümleridir. Başka bir ifâdeyle geleneksel Windows uygulamalarında olduğu gibi bir düğmenin (İngilizce: button) arka plan rengini, yüksekliğini ya da posizyonunu kod içinden de kolayca değiştirmeyi sağlar.
XAML dosyalarında da <x:Code
> elemanını belirterek kod barındırılabilir. Yalnız tüm kod <CDATA[...]]> elemanı (tag) içine yazılmalıdır. <CDATA[...]]> elemanı, derleyici bu eleman içindeki kod satırlarını yorumlamasını engeller.
Örnek
<x:Code> <![CDATA void ButtonClickedHandler(object sender, RoutedEventArgs eventArgs) { MyButton.Width = 100 ; MyButton.Content = "Thank you! "; } ]]> </x:Code>
Dış bağlantılar
- MSDN : XAML'e Genel Bakış 14 Kasım 2012 tarihinde Wayback Machine sitesinde .
- Ahmet Çığşar : XAML ile Tanışmak ve XAML Yapısı 2 Mart 2013 tarihinde Wayback Machine sitesinde .
- csharpnedir.com : XAML'ı Anlamak 22 Ocak 2013 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
XAML IPA ˈzaemel Extensible Application Markup Language genisletilebilir uygulama bicimlendirme dili Microsoft un uygulama arayuzlerinin olusturulmasini saglayan tanimlama dili XAML gelistiricilerin XML kullanarak tum NET kullanici arayuz elemanlarinin button textbox gibi cizimlerini Ingilizce layout kontrol edebilmelerini saglar Her XAML etiketi tag ozellikleri XML attributeleriyle kontrol edilen bir NET Framework sinifina birebir karsilik gelir Ornegin lt Button gt elemanini ele alalim lt Button gt tag i dogrudan System Windows Controls Button sinifina karsilik gelir Read only olan ozellikler Properties XAML tarafindan erisilemez sadece public get ve set methodlari olan ozellikler XAML ile erisilerbilirdir Event ler ve handler ler de XAML attributeleri ile belirtilebilir ve event in gerceklesmesi sonucu calisacak kod da code behind tarafina C ya da tercihe gore VB NET ile yazilabilir Nasil ki ASP NET te kodu ister codebehind sayfasina ya da aspx sayfasina yaziliyorsa burada da codebehind ya da XAML dosyasina yazilabilir XAML sayfasina kodu gomulurse calistirmak icin once uygulama derlenmeli Fakat XAML sayfasina kod yazilmadiysa XAML dosyasina cift tiklayarak Vista uzerinde HTML de oldugu gibi dogrudan gorulebilir Windows XP de ise sonucu gorebilmek ya da tarayiciya yukleyebilmek icin XAML sayfalarinin once derlenmesi gerekir XAML agac modeliNasil ki HTML nesneleri DOM agacini olusturmak icin pars edilirse XAML elemanlari da ElementTree agacini olusturmak icin de pars edilir XAML in nesneye dayali methodolojiye dayandigini soylenebilir Bir XAML elemanindan turetilen baska bir eleman ebeveyninin ozelliklerini alir XAML dan tam anlamiyla faydalanabilmek icin kalitimin dogasini anlasilmalidir Custom controller alt siniflar olusturularak kullanici arayuzu tasariminda kullanilmak uzere XAML gelistiricilerine sunulabilir XAML WPF tarafinda tanimlanan nesnelerin XML gorunumu oldugu icin XAML elemenlari nesne tabanli programlama tekniklerini kullanan gelistiriciler tarafindan genisletilebilir XAML bir programlama dili degildir Uygulamalari calistirmak icin tasarlanmamistir XAML dosyalari uygulamalar icin kullanici arayuz tanimlari icerir Uygulama mantigi ve event handler ler codebehind sayfalarinda bulunur Uygulama ve sayfa tanimiUygulama tanimi Ingilizce application definition kendi dosyasi icinde tanimlanir Ayarlanmasi gereken iki ozelligi vardir Ingilizce namespace ve baslama URI si Ingilizce startup URI URI uygulama calistiginda yuklenmesi gereken ilk sayfayi belirtir XAML eleman taniminda ya her eleman icin bir ya da Avalon aduzayinin kok elemanina referans verilmelidir Kokun tanimiHerhangi bir XAML dosyasinda tanimlanan ilk eleman kok Ingilizce root elemanidir Kok elemani mutlaka tanimlandigi aduzay referansini icermelidir Kok elemanlar diger XAML elemanlari iceren konteynerlerdir Uygulama tanimi icin en yaygin kok root eleman NavigationWindow dur Window elemaniysa oldukca az kullanilmaktadir Sayfa tanimi Ingilizce page definition icin en yaygin kok eleman Panel ve onun alt sinifi olan DockPanel ve StackPanel elemanlari ve de Page elemanidir Iki cesit XAML uygulamasi vardir dogrudan calisan Ingilizce express ve yerlestirilmis Ingilizce installed uygulama Dogrudan calisan uygulama bir Web tarayicisinda kosar Yerlestirilmis uygulamalarsa bilinen geleneksel masaustu uygulamalaridir Tum XAML ozellikleri Ingilizce attribute kod tarafinda duzenlenebilir Zaten bu ozellikler CLR sinif ozelliklerinin XML gorunumleridir Baska bir ifadeyle geleneksel Windows uygulamalarinda oldugu gibi bir dugmenin Ingilizce button arka plan rengini yuksekligini ya da posizyonunu kod icinden de kolayca degistirmeyi saglar XAML dosyalarinda da lt x Code gt elemanini belirterek kod barindirilabilir Yalniz tum kod lt CDATA gt elemani tag icine yazilmalidir lt CDATA gt elemani derleyici bu eleman icindeki kod satirlarini yorumlamasini engeller Ornek lt x Code gt lt CDATA void ButtonClickedHandler object sender RoutedEventArgs eventArgs MyButton Width 100 MyButton Content Thank you gt lt x Code gt Dis baglantilarMSDN XAML e Genel Bakis 14 Kasim 2012 tarihinde Wayback Machine sitesinde Ahmet Cigsar XAML ile Tanismak ve XAML Yapisi 2 Mart 2013 tarihinde Wayback Machine sitesinde csharpnedir com XAML i Anlamak 22 Ocak 2013 tarihinde Wayback Machine sitesinde