I am currently working on a WPF TimePicker Control. The control inherits a TextBox and it has a MaskedTexProvider which displays a TimeSpan in the following format:
\"HH
When you use a DependencyProperty, you need to use it's implementation instead of your INotifyPropertyChanged style implementation for properties. This means no backing field (it's handled via the DP mechanisms), and using property changed callbacks for change handling or value coersion instead of doing it in the property setter.
I recommend looking at the Dependency Property Overview on MSDN for details. In particular, you'll need to look at how to implement a Dependency Property as well as Callbacks and Validation.