Dependency Property

by Suat TUNCER 28. Mart 2009 11:26

Merhabalar,

Son zamanlarda "Dependency Property" çok fazla kullanmaya başladım ve bu zamana kadar kullanmadığım için kızdım kendime. Özellikle WPF ile birlikte bir nesnenin hemen hemen bütün özellikleri "Dependency Property" olarak tanımlandığı için ve bazı özel noktalarda eventlara ihtiyaç duyduğumuzda imdadımıza yetişmektedirler. Aşağıya basit bir kod örneği ekliyeyim de tam olsun.

 

private void Page_Loaded(object sender, RoutedEventArgs e){
    DependencyPropertyDescriptor dc; // bizim için bağlamayı çekecek olan nesne ;-)
    dc = DependencyPropertyDescriptor.FromProperty(
         Button.IsMouseOverProperty, // durumuna bağlanmak istediğimiz özellik
         typeof(Button));            // bağlama çekilecek tip

    dc.AddValueChanged(              // nesne ve method ilişkilendiriliyor
         button1,                    // IsMouseOver özelliği kullanılacak nesne
         Button_MouseOver);          // IsMouseOver özelliği değiştiğine çalışacak method
}


void Button_MouseOver(object sender, EventArgs e){
    /*
        method tetiklendiğinde eğer;
        IsMouseOver true ise arkaplan kırmızı yapılıyor
        IsMouseOver false ise arkaplan sarı yapılıyor.
    */
    Button senderButton = sender as Button;
    if (senderButton.IsMouseOver)
        senderButton.Background = Brushes.Red;
    else
        senderButton.Background = Brushes.Yellow;
    // böylece galatasaray selam gönderilmiş oluyor :-)
}


istenirse foreach döngüsü kullanılarak, bir control collectionın tamamına da uygulanabilir.

i love .net

 

Tags: , ,

C#

Yorum ekle

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading

Hakkımda

Suat TUNCER, Yazılım tutkunu.

Reklam Alanı

Twitter


 

Month List

Widget Poll not found.

The file '/widgets/Poll/widget.ascx' does not exist.X