İlkay İlknur

just a developer...

Silverlight - Özelleştirilmiş DataGrid İçerisinden Bind Edilen Nesneye Erişim

Merhaba Arkadaşlar, Bu yazımızda Silverlight kontrollerinden DataGrid'i özelleştirilmiş bir şekilde kullanırken içerisinde bulunan bir butona tıklandığında o butonun hangi satırda olduğunu nasıl algılayabiliriz bunu incelemeye çalışacağız. Örnek olarak ise yine bir önceki yazıda kullandığımız Ürün sınıfını kullanacağız.( Yoğun istek üzerine {#emotions_dlg.wink} ) Daha sonra DataGrid'i özelleştirmiş bir şekilde tasarlarken içerisine bir buton koyacağız ve bu butona tıklandığında o satırdaki ürünün toplam fiyatı messagebox kullanarak göstereceğiz. Ürün sınıfımız  
public class Urun
{
   public string urunAdi { getset; }
   public double fiyat { getset; }
   public int adet  { getset; }
}
  DataGrid Tasarımı DataGrid içerisine her satırda bulunmak üzere bir Buton ekledik ve bu butonun Click eventine Button_Click isimli tek bir EventHandler atadık. Biz tüm hesaplama işlemlerini bu Handler üzerinden yapıyor olacağız. İlk olarak sender parametresini kullanarak hangi butona tıklandığını elde edeceğiz. Daha sonra ise Buton'un DataContext'ini kullanarak o satıra hangi ürün nesnesi bind edilmiş bunu alacağız ve gerekli işlemleri yapacağız. private void Button_Click(object sender, RoutedEventArgs e) {    Urun urun = ((Button)sender).DataContext as Urun;    MessageBox.Show((urun.fiyat * urun.adet).ToString()); } Bir iki örnek nesne yaratıp uygulamayı çalıştırırsak.   Gördüğümüz gibi butonun DataContext'ine o satıra bind edilen sınıf bind edilmiş.Wink Uygulamaya buradan indirebilirsiniz. SilverlightApplication19 Görüşmek Üzere,


Yorum Gönder