yazgelistir.com
  Ana Sayfa   Forumlar   Blog  Hakkımızda
  
Loading... Yükleniyor. Lütfen bekleyin ...
 Kategoriler
ASP.NET
ADO.NET
Visual Basic .NET
Visual C# .NET
Visual Studio ve Araçlar
Windows Server System
Office System
.NET Framework
SQL Server
XML Web Servisleri
Yazılım Güvenliği
Yazılım Mühendisliği
Mobil Teknolojileri
Dynamics
Smart Client
Expression Studio
Silverlight
Kod Parçaları
Açık Kaynak Kodlu Uygulamalar
İş Zekası
Windows Mobile Embedded

    0
Çıkış Yap
Üyelik Bilgilerimi Güncelle
Seminerlerim
Favorilerim
Ajanım

 Yazgeliştir
Yazar olmak ister misiniz?
Forumlar
Kitap Önerileri
Haberler
Röportajlar
Yazarlar
İpuçları
Görüşleriniz
Hakkımızda

  İstatistikler
En son kayıt olan üye:
ftonak

Şuanki online üyeler ( 8 ) :
vtokmak , murat_karaslan , analyzer20 , SoftwareExperts , myurt87 , lammoth , ftonak , ahmetkilic
 

DorukNet 
     .NET Framework Kategorisi  » WPF & Blend ve Expander Kontrolü    

WPF & Blend ve Expander Kontrolü

Print Versiyonu


 
Yazar: Erkan Derviş

Tarih:02.03.2008

Puan:4,75 (Oy Kullanan:4)

Okuma Sayısı:165

  Makaleyi İşaretle


Makale Özeti
Framework’ün tamamen yeni bir sunumu olan Windows Presentation Foundation (WPF), windows uygulamaları için yepyeni bir görsel teknolojidir. WPF günümüzde kullandığımız ve oldukça popüler olan HTML ve FLASH gibi görsel teknolojilerden etkilenmiştir. WPF sayesinde günümüz windows uygulamalarında oldukça radikal değişimler gözlenebilecektir.


Makale

Framework’ün tamamen yeni bir sunumu olan Windows Presentation Foundation (WPF), windows uygulamaları için yepyeni bir görsel teknolojidir. WPF günümüzde kullandığımız ve oldukça popüler olan HTML ve FLASH gibi görsel teknolojilerden etkilenmiştir. WPF sayesinde günümüz windows uygulamalarında oldukça radikal değişimler gözlenebilecektir.

   

Öncelikle vektörel çalışma yapılabildiğinden görsel anlamda bize çok rahatlık ve güzel şeyler ortaya çıkarabilmeyi sağlamaktadır. WPF sayesinde web ortamında gördüğümüz Flash nesnelerinin hareketliliğini ve rahatlığını çok kolay bir şekilde windows uygulamalarımızda yapabileceğiz.Sanki bir web uygulaması geliştiriyormuş gibi windows ortamında uygulamalar oluşturabilme olanağı sağlamaktadır ve en önemlisi 3 boyutlu animasyonlar rahatça oluşturabilmekteyiz.

 

Peki,WPF ‘ten bahsetmişken XAML’ e değinmemek elbette olmaz. XAML  ise XML tabanlı .NET objelerinin yaratılması ve tanımlanması için oluşturulan bir dildir. “Zammel” diye okunur. WPF uygulamarında görsel yapılar oluşturmak için XAML kullanırız. Xaml’i istersek elle kodlarız istersekte toollar’ı kullanarak kodları otomatik generate etmesini sağlayabiliriz. Açıkçası XAML’ i elle yazmak pek hoşlanacağınız bir durum olmasada çoğu zaman elle kodlama yapmanız gerekebilmektedir.Fakat intellisense özelliğinin olması işinizi oldukça kolaylaştıracaktır.

 

 Bu nedenle Microsoft, tasarımcılar için Expression Blend geliştirdi. Aslında Expression Blend’in ortaya çıkma amacı Microsoft’un yazılımcılar ile tasarımcıları birbirlerinden bağımsız bir platformda aynı projeyi geliştirmesini sağlamaktı.Yani tasarımcılar Expression Blend ile uygulamanın tasarımını inşa ederken, yazılımcılarda .NET 2008 ile uygulamanın kod tarafını inşa edebilecekler. Peki bu 2 farklı departmanın geliştirdiği uygulama nasıl birleşecek? Tabii ki XAML sayesinde. XAML bu iki platform arasında aracı bir köprü vazifesi görevi görmekte.

 

Hem Expression Studio hemde .NET’i nasıl aynı anda senkronize bir şekilde kullanabileceğimize bir örnek verelim. Öncelikle bunun için aşağıda adreste Expression Blend’in ücretsiz olan aralık ayı deneme sürümünü indirelim.

   

http://www.microsoft.com/expression/products/download.aspx?key=blend2preview

   

Expressin Blend’i indirdikten sonra şimdi .NET 2008 ile yeni bir WPF projesi açıyoruz.

   

Framework versiyonu olarak 3.5 seçtim ve projemizin adını myWPFApplication olarak belirledim.  .NET 2008’ de projemizi açtıktan sonra diğer taraftan Expression Blend açıyoruz, karşımıza gelen pencereden Open Project diyerek az önce oluşturmuş olduğumuz projemizin solution dosyasını gösteriyoruz.

   

   

 

 Artık projemiz hem Expression Blend’de hemde .NET 2008’de açık durumda ve senkronize bir şekilde çalışmakta.

   

.NET tarafına geçelim ve aşağıda gördüğünüz gibi XAML kod ekranında Grid tagleri üstünde  bulunan Title="Window1" Height="300" Width="300"> yazmakta. 

   

   

 Biz buradaki Height değerini 331, Width değerinide 569 yapalım. Blend tarafına geçelim ve sol tarafta bulunan toolbox kısmından en altta bulunan “>>” tuşuna tıklayıp açılan kontroller arasından Expander kontrolünü seçip formumuzda oluşturalım.

   

Expander kontrolümüzü ekledikten sonra File menüsünden Save diyip projemizi kaydedelim. Şimdi .NET e geçelim ve karşımıza aşağıdaki ekranın geldiğini göreceksiniz. 

   

Senkronize dememin sebebide buydu.Yani siz Blend tarafında herhangi bir değişiklik yapıp save yaptığınız ya da .NET tarafında herhangi bir değişiklik yapıp save yaptığınız takdirde otomatikman diğer tarafa geçerken size “Dışarıdaki bir editor tarafından dosyanız değiştirilmiştir.Tekrar yüklemek ister misiniz?” gibisinden bir soru sormakta. Biz “Yes to All” seçeneğini seçiyoruz ve Blend’de eklemiş olduğumuz Expander kontrolünün .NET tarafında da eklendiğini görmüş olacaksınız. 

             

Expander kontrolümüzü oluşturduktan sonra .NET tarafında XAML kodlarına baktığımız takdirde aşağıdaki gibi bir kod dizimi göreceksiniz.

 

 

   

<Window x:Class="myWPFApplication.Window1"

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

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

    Title="Window1" Height="331" Width="569">

    <Grid>

      <Expander Margin="152,21,171,128" Header="Expander">

           

      </Expander>

    </Grid>

</Window>

   

Görmüş olduğunuz üzere bizim Blend tarafında eklemiş olduğumuz Expander kontrolünü toolbox’tan oluşturduğumuz takdirde otomatikman XAML kodunu generate etmekte.Istersek elle yazabilirdik ve gene aynı Expander kontrolü formumuzda çizilmiş olurdu. İsterseniz şimdi toolbox’tan değilde XAML içinden bir kontrol ekleyelim ve ekledikten sonra kontrolümüzün formumuz üstünde belirdiğini göreceksiniz. Expander kontrolümüzün tagleri arasına bir TextBlock kontrolü ekleyelim. XAML tarafında kod yazmak aslında oldukça rahat çünkü daha öncede bahsettiğim gibi intellisense özelliği bulunduğundan ötürü işiniz oldukça rahat oluyor.

   

<Expander Margin="152,21,171,128" Header="Expander">

   

   <TextBlock TextWrapping="Wrap" >

          

    Framework’ün tamamen yeni bir sunumu olan Windows Presentation Foundation (WPF), windows uygulamaları için yepyeni bir görsel teknolojidir. WPF günümüzde kullandığımız ve oldukça popüler olan HTML ve FLASH gibi görsel teknolojilerden etkilenmiştir. WPF sayesinde günümüz windows uygulamalarında oldukça radikal değişimler gözlenebilecektir.

         

  </TextBlock>

   

</Expander>

   

Expander tagleri arasına bir TextBlock kontrolü ekledik, Wrap özelliğini açıp içine alt satırlara taşacak uzunlukta birşeyler yazdık. Projemizi çalıştırdığımızda aşağıdaki ekran görüntüsü karşımıza çıkacaktır.

 

               

 

Expander kontrolümüzün aşağıya bakan ok işaretine tıkladığımız takdirde aşağıdaki gibi yazımızın bir anda çıktığını göreceksiniz.

 

               

 

Yalnız bir sorun var, yazımız Expander kontrolümüzün boyutunu aştığı zaman, aşan kısım malesef gözükmeyecektir. Bunu önlemenin yolu ise Expander tagleri arasına ScrollViewer özelliğini eklememiz ve scrollbarın uzunluğunu vermemiz yeterli olacaktır.Artık yazımız taştığı zaman otomatik scrollbar çıkacaktır.

   

   

<Expander Margin="152,21,171,128" Header="Expander">

   

     <ScrollViewer Height="60">

   

       <TextBlock TextWrapping="Wrap" >

   

       Framework’ün tamamen yeni bir sunumu olan Windows Presentation Foundation (WPF), windows uygulamaları için yepyeni bir görsel teknolojidir. WPF günümüzde kullandığımız ve oldukça popüler olan HTML ve FLASH gibi görsel teknolojilerden etkilenmiştir. WPF sayesinde günümüz windows uygulamalarında oldukça radikal değişimler gözlenebilecektir.

   

       </TextBlock>

   

    </ScrollViewer