WPF:CLR属性到依赖项属性
我有一个属性为的用户控件WPF:CLR属性到依赖项属性,wpf,animation,dependency-properties,Wpf,Animation,Dependency Properties,我有一个属性为的用户控件 public double X { get { return Canvas.GetLeft(this) + this.Radius; } set { Canvas.SetLeft(this, value - this.Radius); PropertyChanged(this, new PropertyChang
public double X
{
get
{
return Canvas.GetLeft(this) + this.Radius;
}
set
{
Canvas.SetLeft(this, value - this.Radius);
PropertyChanged(this, new PropertyChangedEventArgs("X"));
}
}
我想使用与此属性相关的动画,但动画只需要依赖属性。如何解决此问题?好吧,此属性所做的一切就是从
Canvas.Left
派生其值。为什么不直接为画布设置动画呢?看起来您希望“X”成为对象(椭圆)的中心
我可以建议两件事:
如果在OnPropertyChanged中将X设置为50,半径为10,则最终将Canvas.Left设置为40。getter将返回正确的50,无需更改。如果半径改变,只需更新X=Canvas.Left+radius,我不知道{return Canvas.GetLeft(this)+this.radius;}逻辑在哪里。