Bugün teknik bir yazı ile tekrar karşınızdayım.Biliyorum bu tür yazılar yazmayalı epey oldu:)Malum yazı yazabilmek için önce öğrenmek gerekiyor ve biraz da vakit.Önemli olan sadece yazı yazmış olmak değil gerçekten işe yarar ve ilginç yazılar yazmaktır.Neyse bu kadar geyikten sonra  teknik yazıma geçeyim:)Bugün tasarım aşamasında veri oluşturma işlemini sizlerle paylaşacağım.Makalenin sonunda aşağıdaki  resimdeki gibi bir tablo ile karşılaşacağız.

Önce Visual Studio’muzda WPF projesi oluşturduktan sonra Data isminde bir klasör ekleyelim.Bu klasöre Person adında bir class ekleyelim.Bu sınıfımızın üyeleri aşağıdaki gibi olsun.

namespace DesignTime.Data

{    

 public  class Person  

 {             

      public string Name { get; set; }             

      public string Surname { get; set; }             

      public int Age { get; set; }             

      public string Gender { get; set; }   

 }

}

Person.cs sınıfımızı hazırladıktan sonra DesignTimePeople  isimli yeni bir sınıf daha ekleyelim.Bu sınıfımızı Person sınıfımızın bir listesi olarak türetelim.

namespace DesignTime.Data

{     

 public class DesignTimePeople:List<Person>     

 {

    public DesignTimePeople()             

     {           

            this.Add(new Person { Age = 12, Gender = "M", Name = "Mohinder", Surname = "Suresh" });

            this.Add(new Person { Age = 25, Gender = "M", Name = "Peter", Surname = "Petrelli" });

           this.Add(new Person { Age = 23, Gender = "F", Name = "Tracy", Surname = "Strauss" });

           this.Add(new Person { Age = 28, Gender = "M", Name = "Hiro", Surname = "Nakamura" });             

      }   

  }

}

Son olarak RunTimePeople isimli  ve List<Person> sınıfından türemiş boş bir sınıf ekliyoruz. Projemizin veri kısmını hallettik.Şimdi bu verileri tasarım aşamasında kullanalım.İlk olarak verilerimizi XAML tarafına referans olarak ekleyelim.

xmlns:local="clr-namespace:DesignTime.Data"

Bu ifadeyle Data klasörümüzü XAML tarafına referans olarak eklemiş olduk.Bundan sonra yapacağımız işlem verileri Resource olarak eklememiz gerekmektedir.

<Window.Resources>

 <local:DesignTimePeople x:Key="dtData"/>

</Window.Resources>

Geriye sadece tasarım aşamasındayken görebileceğimiz bir ListBox eklemek kaldı.

<StackPanel>

 <ListBox x:Name="text" ItemsSource="{Binding}" Margin="10"/>

  <ListBox x:Name="listbox" ItemsSource="{StaticResource dtData}">

   <ListBox.ItemTemplate>

      <DataTemplate>

      <Border CornerRadius="4" Margin="5" Padding="10" BorderThickness="2" BorderBrush="DarkOliveGreen">


     <StackPanel>

        <TextBlock Text="{Binding Name}"/>         

        <TextBlock Text="{Binding Surname}"/>  

                <TextBlock Text="{Binding Age}"/>                       

                <TextBlock Text="{Binding Gender}"/>

        </StackPanel>

      </Border>

   </DataTemplate>

  </ListBox.ItemTemplate>

 </ListBox>

</StackPanel>

Son olarak  Window1’in Load olayına şunları yazalım.

[Window1.xaml.cs]     

listbox.ItemsSource = new Data.RunTimePeople();

Design kısmına geldiğimizde DesignTimePeople sınıfına eklemiş olduğumuz kişileri ListBox’ta göreceğiz fakat uygulamamızı çalıştırdığımızda hiçbir veri görünmeyecektir.Çünkü ListBox’ımızın ItemSource özelliğine RunTimePeople yani boş bir sınıf atadık.Gördüüğünüz gibi o kadar da zor bişey değilmiş:)Tek yapılması gereken veriler ve bu verileri kullanabilmek için Resource’a eklemek.Bu bizim uygulamamızı tasarlarken gerçekten işimizi kolaylaştıran bir yöntemdir.

DesignTimeDemo.zip (26,31 kb)

About the Author