2010-02-03 32 views
9

Tôi có một phần tử được đặt trên Canvas sử dụng các thuộc tính đính kèm Canvas.TopCanvas.Left. Sau đó, sử dụng hình ảnh động nguyên tố này được chuyển đến bộ khác nhau của tọa độ, như thế này:Làm cách nào để xử lý sự kiện thay đổi Canvas.Top trong WPF?

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

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

Có cách nào để nhận các sự kiện bất cứ khi nào Canvas.Top hoặc Canvas.Left được thay đổi? Tốt hơn là không liên quan đến hoạt ảnh.

Trả lời

19

người ta có thể sử dụng catch attached property changed eventDependencyPropertyDescriptor 's AddValueChanged phương pháp:

var descriptor 
    = DependencyPropertyDescriptor.FromProperty( 
     Canvas.LeftProperty, typeof(YourControlType) 
    ); 
descriptor.AddValueChanged(this, OnCanvasLeftChanged); 
Các vấn đề liên quan