Many a times while developing your WPF, Silverlight or even Windows Phone application, you require the need to use a Dependency Property.
A dependency property is one of the most complex concept to understand conceptually, let alone implement it.
For all those who need to understand more about dependency properties and their usage, check out Dependency Properties from Jesse Liberty.
A key value of the Dependency Properties system was the ability to build properties that automatically notify any registered interested party each time the value of the property changes. This free, painless and automatic implementation of the observer pattern is tremendously powerful and greatly reduces the burden on the client programmer (in fact, the data-binding system depends on it!).