3 Ocak 2014 Cuma

C# WPF Örnekleri 1



                İlk uygulamamız olması nedeniyle öncelikle WPF(Windows Presentation Foundation) nin yapısını biraz inceleyelim. Öncelikle WPF Windows aygıtları için uygulama geliştirmemizi sağlar. WPF ile daha kolay ve güzel  görsel ara yüz tasarımları yapabiliyoruz. WPF de uygulama ile görsel kısmın kodları birbirinden bağımsızdır. Burada uygulamalarımızı C# ile görsel kısmın tasarımını ise Xaml ile gerçekleştiriyoruz. (Xaml ise xml in geliştirilmiş halidir.)  Bu özelliği ile Windows Form uygulamalarından ayrılır. Peki uygulama ve görsel kısmın kodlarının ayrılması bizim ne  işimize yarıyor veya ne gibi avantajlar sağlıyor? Burada Xaml kullanılmasından dolayı WPF uygulamaları vektör tabanlı oluyor , yani pikselden bağımsız oluyor. Bu sayede uygulamanın 640x480 de yapsanız ,1920x1280 de yapsanız şekillerimizde , yazılarımızda ve renk geçişlerimizde herhangi bir değişiklik olmuyor. Zaten günümüzde kullanılan o dev reklamlarda vektör tabanlı resimler ile oluşturulmaktadır. Bunun yanı sıra WPF de 3D grafikler kullanabiliyoruz. Form uygulamalarına göre daha kolay ve etkili görseller ayarlayabiliyoruz.

                Ayrıca Xaml günümüzün ve yakın geleceğin teknolojisi diyebiliriz. Windows 8.0 , Windows 8.1 ve Windows Phone uygulamaları da Xaml tabanlıdır. Bu yüzden eğer yeni başlayan birisi iseniz  sizin için WPF öğrenmek Form uygulamaları öğrenmekten çok daha faydalı olacaktır. Bu açıklamadan sonra hemen  yeni bir WPF uygulaması oluşturarak ilk örneğimizi de yapalım.






                Açılan penceremiz yukarıdaki gibi , solda Toolbox (Form uygulamalarındakinin aynısı)  , ortada dizayn kısmı  hemen altında Xaml kod kısmı , sağ alt köşede ise Properties bulunmakta.

               Hemen ilk uygulamamıza başlayalım. Öncelikle penceremin ortasına tıklıyorum ve Properties kısmına gelip Brush yazan kısmı genişletiyorum. Aşağıdaki gibi pencere açılıyor. Buradan istediğiniz gibi bir rengi elde edebilir ve istediğiniz bir stil ile uygulayabilirsiniz.



                Şimdi Toolbax tan bir label sürükleyip pencereme bırakıyorum. Bu işlemden sonra alttaki Xaml koduma baktığımda label ın eklendiğini rahat bir şekilde görebiliriz.

<Label Content="Label" HorizontalAlignment="Left" Margin="161,164,0,0" VerticalAlignment="Top"/>

                Bu satırda Label ın özellikleri otomatik olarak atandı. Label ın konumunu değiştirdiğimizde bu özelliklerinde değiştiğini görebiliriz. Bu eklediğimiz Label ı silelim ve Xaml e kod olarak kendimiz ekleyelim. Bunun için </Grid> etiketinin üzerine <Label> yazıyorum ve otomatik tamamlanıyor. <Label></Label> gibi oldu. Label da gözükmesini istediğim yazıyı bu etiketlerin arasına yazıyorum. Ama bu şekilde bırakırsak Label ın boyutu tüm pencereyi kaplar. Bu yüzden aşağıdaki gibi kodumu düzenliyorum.

<Label VerticalAlignment="Center" HorizontalAlignment="Center" FontFamily="Vivaldi" FontSize="35">oguvenir.blogspot.com</Label>

                Burada Label ın yatay ve dikey olarak merkeze göre , yazı stilini Vivaldi ve boyutunu 35 olarak ayarlamış oldum. Buraya istediğiniz özellikleri ekleyebilirsiniz. Otomatik tamamlama ile bu iş oldukça kolaydır. Ayrıca tüm bunlar zahmetli diyorsanız direk Properties kısmından da özellikleri değiştirebilirsiniz.



                Şimdi de bir Label ın altına bir buton ekliyorum. Butona her bastığımda label daki yazım değişsin istiyorum. Butonu ekledikten sonra üzerine çift tıklayarak C# kod kısmına geçiyorum. Burada Label ın text ini değiştirebilmem için önce Label a bir name belirlemem gerekli. Bunun için Label seçili iken en üstteki name kısmına bir isim eklemeliyiz , yoksa C# buton kısmında Label ı göremeyiz. Bu işlemden sonra Aşağıdaki kodumu yazıyorum.

namespace WpfApplication2
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        int i = 1;
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            i++;
            if (i % 2 == 0)
            {
                lbl.Content = "Ömer Güvenir";
            }
            else
            {
                lbl.Content = "oguvenir.blogspot.com";
            }
        }
    }
}






                Böylece ilk uygulamamızı bitirmiş olduk . Bundan sonraki yazılarımda da değişik WPF örnekleri yapmaya devam edeceğim. Şimdilik bu kadar , kolay gelsin! 

0 yorum:

Yorum Gönder