Avalon introduces the DependencyObject and DependencyProperty classes. At first glance they seem to add unecessary complexity. This article aims to help understand their existance and power.
Update 12/5/04 6:21PM ET:
Per some comments from Rob Releya, I realized that I focused a bit too much on “attached” properties and left out the explanation of why you'd want to use a dependency property even for “simple” properties. I've updated the article with to touch on the “simple” property Canvas.HeightProperty and blended it into the section that segways into the services Avalon can offer around dependency properties. Thanks for the feedback Rob.
(I've also justified the text to make it a little easier on the eyes.)