After working with Workflow Foundation at a customer I had to admit: I hate DependencyProperties. Yes I hate them. They exist because Workflow Foundation, Windows Presentation Foundation and now also Silverlight needed some way to add features to properties. I must admit I would have liked a different approach by using some kind of Aspect Orientation with PostSharp or so. But I still have to make use of them, so let’s make the creation of DependencyProperties easier, an Resharper Live Template. Just a few words (Property Name, Property Type, Activity Type and PropertyDescription) and you’ll have a full DependencyProperty. I made the Live Template start with word "dprop" and also made the Activity Type be selected by the containing class type.
1 public static DependencyProperty $PROPERTYNAME$Property =
2 DependencyProperty.Register("$PROPERTYNAME$", typeof ($PROPERTYTYPE$),
3 typeof ($ACTIVITYTYPE$));
4 [Description("$PROPERTYDESCRIPTION$")]
5 [Browsable(true)]
6 [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
7 public $PROPERTYTYPE$ $PROPERTYNAME$
8 {
9 get { return ($PROPERTYTYPE$) GetValue($PROPERTYNAME$Property); }
10 set { SetValue($PROPERTYNAME$Property, value); }
11 }
Have fun with it.