Silverlight' a Giriş ve Her Yönüyle XAML Yapısı

Yazar: Oguzhan ABALI
Kategori: Silverlight
Eklenme Tarihi: 22.10.2010 15:13:02



Merhaba değerli arkadaşlar; Bu makalemizde XAML yapısından bahsedeceğiz. Ve Silverlight' a da şöyle bir giriş yapıyor olacağız.

Merhaba değerli arkadaşlar;

 Bu makalemizde XAML yapısından bahsedeceğiz. Ve Silverlight' a da şöyle bir giriş yapıyor olacağız. Dilerseniz lafı fazla uzatmadan başlayalım.

XAML Extensible Application Markup Language ifadelerinin baş harflerinden oluşmaktadır. Türkçe’ye Genişletilebilir Uygulama İşaretleme Dili olarak çevirebiliriz. Benim için çok önemli olan bir detay daha ise XAML “zamıl” şeklinde okunmaktadır. Lütfen!J

XAML aslında XML yapıdaki bir dosyayı ifade eder. Silverlight projenizde ana sayfaya karşılık gelen MainPage.xaml dosyasını da irdeleyecek olursak XML’ den başka bir şey olmadığını göreceksiniz. Örnek olarak bir XAML dosyasını inceleyelim;

<UserControl x:Class="Exam2.MainPage"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

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

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

mc:Ignorable="d"

d:DesignHeight="300" d:DesignWidth="400">

<Grid x:Name="LayoutRoot" Background="White">

<Button Margin="5">

<TextBox Name="Firstname" Text="Oğuzhan ABALI"/>

</Button>

</Grid>

</UserControl>



 

Bir silverlight sayfası, <UserControl> imleri arasında ifade edilir. Ve aslında sayfanın görsel yüzünün XML biçiminde kodlanmış hali gibi de düşünebilinir. XAML bir programlama ya da script değildir arkadaşlar. Görevi sadece sayfa yerleşimini yönetmektir. Ayrıca XAML yapısı silverlight haricinde WPF(Windows Presantation Foundation) uygulamalarında da kullanılan bir yapıdır. XML tarzında saklanması, taşınması ve yönetilmesini daha da kolaylaştırır. Kodlar XAML’a bağlı cs ya da vb dosyası içine yazılırlar. Sonuç olarak XAML yine XML yapısını koruyacaktır.

<XAML ifadesi içerisine yazdığınız her öğe aslında bir sınıfı simgeler. Örneğin <Buton> ifadesini yazdığınız da aslında System.Windows.Controls.Button sınıfını ifade etmiş olursunuz. <UserControl> ifadesinin başında kullanılan x:Class ifadesi proje içindeki sınıfları XAML ile ilişkilendirmek için kullanılır.Bunların dışarısında yukarıda ki kodumuzu incelersek varsayılan olarak dört tane isim alanı, xmlns(XML Name Space) alanı <UserControl> düğümü içerisine ilave edilmiştir. Burada ki xmlns’ler XAML’in kullandığı referansları ifade eder. Öyle ki, XAML içinde yerleştirdiğimiz bir buton yada datagridin kullandığı isim alanı burada belirtilmelidir. Örneğin yukarı daki kodumuzda Buton,TextBox ve Canvas gibi nesneler xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation isim alanında bulunurlar. Eğer bu isim alanını XAML’dan çıkarırsanız Visual Studio ve bir başka editör bu öğeleri tanıyamayacaktır.

XAML Kod Yapısı ile ilgili konuşacak olursak; XAML de arkadaşlarım XML deki gibi Ağaç Yapısı vardır. Ne demektir bu? Yani şöyle bir çok element iç-içe yerleştirilip kullanılabilinir. Örnek olarak grid nesnesi içerisine bir buton onun da içerisine TextBox elementi ekleyebilirsiniz. Deneyecek olursak;

<Grid>

<Button Margin=”20”>

<TextBox Text=”Ben o button olacak nesnenin üzerindeki metin kutusuyum”></TextBox>

</Button>

</Grid>

Buton üzerine TextBox nesnemizi koyabildik. Burada dikkat etmemiz gereken ve kafalarda hep soru işareti bırakan nokta bir Windows veya ASP.NET uygulamasında her öğenin bir adı olmak zorundaydı yoksa IDE bize kızıveriyordu hemen, ama XAML yapısında her öğeye isim verme zorunluluğu yoktur arkadaşlar. Örnek olarak ben yukarıdaki örneğimizde button nesnesine isim vermedim. Eğer nesnenizi kod kısmında kullanacaksınız isim vererek çağırırsınız, yok kullanmayacaksanız da nesnenize isim vermeyebilirsiniz. Bu olay XAML’ın okunurluluğu fevkalade arttıran bir özelliktir. Bir diğer önemli özellik ise XAML’in ağaç yapısının temelinde XML olduğu için <(küçüktür), >(büyüktür) ve “(çifttırnak) karekterlerini doğrudan kullanmanıza izin vermeyecektir. Çünkü bu karakterler XML yapısı için anlam ifade eden özel karakterlerdir. Peki ne yapacağız? Çift tırnak yerine “&quot”, küçüktür yerine “&lt” ve büyüktür yerine ise “&gt” ifadelerini kullanıvereceğiz artık J Örneğin; <Button Content=”&lt&quotOğuzhan&gt” /> ifadesini verebiliriz.



 

Evet arkadaşlar bu makalemizde XAML yapısından söz ettik. Bir dahaki makalemizde görüşmek üzere. Herkese iyi çalışmalar!


Oguzhan ABALI

Muğla-Marmaris doğumluyum. Lise öğrenimimi Aydın’da Aydın Lisesi’nde okudum. Sonrasında Burdur-Mehmet Akif Ersoy Üniversitesi Bilgisayar Programcılığı’nda öğrenimimi devam ettirdim. İlkokul yıllarından itibaren ilgi duyduğum yazılım alanında kendimi son sürat geliştirmeye devam etmekteyim. Yazılım alanını kendim için bir meslek olarak gördüğümden dolayı ilk olarak bir Microsoft Yetkili Eğitim Merkezinde MCPD eğitimi aldım. Sonrasında Microsoft sertifikasyonuna dahil oldum ve sınavlarını vererek MCP, MCTS, MCPD ünvanlarını aldım. Çocukluğumdan beri istediğim öğretmenlik mesleğini yazılım kanadında niye yapamayım diye düşündüm. Ve Tranier The Trainer eğitimine katılarak MCT (Microsoft Sertifikalı Eğitmen) ünvanını aldım. Şu an 2 ortak arkadaş açtığımız bir yazılım firmasında çalışıyorum. Kendimden çok kısaca bu kadar bahsedebilirim İlginiz için teşekkür ederim.

Bu makaleye ilk yorum yapan siz olun.

Yorumunuz