I have an element positioned on Canvas using attached properties Canvas.Top and Canvas.Left. Then using animations the element is move
Canvas
Canvas.Top
Canvas.Left
One can catch attached property changed event using DependencyPropertyDescriptor's AddValueChanged method:
DependencyPropertyDescriptor
AddValueChanged
var descriptor = DependencyPropertyDescriptor.FromProperty( Canvas.LeftProperty, typeof( YourControlType ) ); descriptor.AddValueChanged( this, OnCanvasLeftChanged );