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