Thursday, July 30, 2009

Creating DependencyProperties for a Class

The following code is needed if you want to animate Padding.Top of a control.
  1. public class MyClass : UserControl  
  2. {  
  3.   public static readonly DependencyProperty PaddingTopProperty =   DependencyProperty.Register("PaddingTop"typeof(double), typeof(MyClass), new PropertyMetadata(0d, new PropertyChangedCallback(OnPaddingTopPropertyChanged)));  
  4.   
  5.   public double PaddingTop  
  6.   {  
  7.     get  
  8.     {  
  9.       return Padding.Top;  
  10.     }  
  11.     set  
  12.     {  
  13.       Padding = new Thickness(Padding.Left, value, Padding.Right, Padding.Bottom);  
  14.     }  
  15.   }  
  16.   
  17.   private static void OnPaddingTopPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)  
  18.   {  
  19.     (d as MyClass).PaddingTop = (double)e.NewValue;  
  20.   }  
  21. }  

No comments:

Post a Comment