link:http://msdn.microsoft.com/en-us/library/cc903943(v=vs.95).aspx
什么时候用 Attached Property:
You might create an attached property when there is a reason to have a property-setting mechanism available for classes other than the defining class. The most common scenario for this is layout. Examples of existing layout properties are Canvas.ZIndex and Canvas.Top. The scenario enabled here is that elements that exist as child elements to layout-controlling elements are able to express layout requirements to their layout parent elements individually, each setting a property value that the parent defines as an attached property.
Another scenario for using an attached property is when your class represents a service, and you want classes to be able to integrate the service more transparently. An example of this scenario in the Silverlight API is the Validation.Errors data validation technique.
Caution: An existing limitation of the Windows Runtime XAML implementation is that you cannot animate your custom attached property.
什么是animate:http://msdn.microsoft.com/en-us/library/ms752312.aspx
不能用animate的case:http://stackoverflow.com/questions/3898425/i-cant-animate-a-custom-property-in-wpf