ÖNCELİKLİ OLARAK XAML YAPISI İYİCE OTURMALI Kİ DAHA SONRA KOD YAPISINA GEÇELİM, BU YÜZDEN FARKLI KAYNAKLARDAN TOPLADIĞIM VE EN BEĞENDİĞİM YAZILARI YAYINLIYORUM

“eXtensible Application Markup Language ifadelerinin büyük harflerinden oluşmaktadır (ak)”. 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! 🙂

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;

resim : http://www.klavyu.com/wp-content/uploads/2011/02/1.jpg

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üşünülebilir. 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ılabilir. Ö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 🙂 Örneğin; <Button Content=”&lt;&quot;Oğuzhan&gt;” /> ifadesini verebiliriz.

Alıntı: http://2007.oguzhanabali.com.tr/MakaleGetir.aspx?Get=130

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

bir diğer kaynaktan: http://www.klavyu.com/2011/02/silverlight-ve-yapisi/

XAML(Extensible Application Markup Language) Yapısı

Silverlight ile uygulama geliştirirken C# veya Visual Basic dillerini bilebilirsiniz ama bu dillerden ziyade XAML yapısını çok iyi kavramak gerekir. Çünkü çoğu zaman C# veya VB ile tasarım ve animasyon tarafında controllere, object’lere ulaşırken hep XAML teknolojisinin nimetlerinden faydalanacağız.

Peki, nedir bu XAML?

Silverlight ve WPF platformlarında kullanıcı arayüzleri oluşturmak için Microsoft’un geliştirmiş olduğu yeni bir işaretleme dilidir. Klasik XML tabanlıdır ve içinde taglar, attribute’ler bulunduran bir yapıdır. Şimdi Blend ile hazırlanmış olan bir buton ve textbox’tan oluşan resmi inceleyelim.
Buradaki XAML kodunu inceleyecek olursak en dışta bir UserControl var hemen onun içinde Grid ve Grid içinde de Button ve TextBox objectlerinden oluşan hiyerarşik bir yapı var.
Burada Grid objectini inceleyecek olursak Name ve Background propertyleri var. Bunlara da gördüğünüz gibi kendince değerler(LayoutRoot, White) atanmış. Nitekim Button ve TextBox object’lerindeki propertyler’in de siz ne olduğunu ne işe yaradığını az çok kestireceksinizdir. Bu kodlar isterseniz elle oluşturabilir veyahut  Blend ile tasarım yaptığınızda otomatik olarak gelecektir. Şunu iyi bilmek gerekir ki; XAML üzerinde oluşturulan her tag birer .Net nesnesi olarak yorumlanır ve XAML’daki her nesneye C# veya VB tarafında ulaşılabilir. Yukarıdaki resimdeki tasarımın aynısını C# ile runtime’da bir Button ve bir TextBox kontrolü oluşturarak ve property’ler atayaraktan yazabilirsiniz.
Size XAML konusunda tavsiyem makalenin de sonunda bana da çok yardımcı olan çeşitli site, forumlardan bu işi daha iyi bir şekilde araştırmanızdır.

XAP Nedir?

Özünde XAP dosyası bir Silverlight projesinde yapılan tüm işlemlerin kaydedildiği yerdir. Projeyi derlediğimizde sunucu tarafında ClientBin klasörü altında proje ismiyle bağlantılı bir XAP dosyası oluşacaktır.
XAP dosyasını .zip uzantılı bir dosya gibi düşünebilirsiniz ve içeriğini görüntülediğinizde çeşitli dll dosyalarının bulunduğunu göreceksiniz.
Silverlight konusunda yardımcı bağlantılar:
Reklamlar