2010-02-03 13 views
9

मेरे पास संलग्न गुण Canvas.Top और Canvas.Left का उपयोग कर Canvas पर एक तत्व है। तब एनिमेशन तत्व निर्देशांक के अलग सेट करने के लिए ले जाया जाता है का उपयोग कर, इस तरह:मैं कैनवास को कैसे संभाल सकता हूं। WPF में परिवर्तन ईवेंट बदलें?

DoubleAnimation left = new DoubleAnimation(oldLeft, newLeft); 
DoubleAnimation top = new DoubleAnimation(oldTop, newTop); 

element.BeginAnimation(Canvas.LeftProperty, left); 
element.BeginAnimation(Canvas.TopProperty, top); 

वहाँ जब भी Canvas.Top या Canvas.Left बदल गया है घटनाओं प्राप्त करने के लिए कोई तरीका है? पसंदीदा रूप से एनीमेशन के संबंध में।

उत्तर

19

एक कर सकते हैं catch attached property changed event का उपयोग कर DependencyPropertyDescriptor के AddValueChanged विधि:

var descriptor 
    = DependencyPropertyDescriptor.FromProperty( 
     Canvas.LeftProperty, typeof(YourControlType) 
    ); 
descriptor.AddValueChanged(this, OnCanvasLeftChanged); 
संबंधित मुद्दे