我使用附加属性 Canvas.Top
和 Canvas.Left
将一个元素定位在 Canvas
上。然后使用动画将元素移动到不同的坐标集,如下所示:
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
发生变化时接收事件?最好与动画无关。
最佳答案
一 jar catch attached property changed event使用 DependencyPropertyDescriptor
的 AddValueChanged
方法:
var descriptor
= DependencyPropertyDescriptor.FromProperty(
Canvas.LeftProperty, typeof( YourControlType )
);
descriptor.AddValueChanged( this, OnCanvasLeftChanged );
关于c# - 如何处理 WPF 中的 Canvas.Top 更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2192612/