我拥有属性
的用户控件public double X
{
get
{
return Canvas.GetLeft(this) + this.Radius;
}
set
{
Canvas.SetLeft(this, value - this.Radius);
PropertyChanged(this, new PropertyChangedEventArgs("X"));
}
}
我想使用与此属性相关的动画,但动画只需要依赖属性。我怎么解决这个问题?
答案 0 :(得分:1)
嗯,所有这些属性都是从Canvas.Left
派生出来的。为什么不直接为Canvas.Left
制作动画?
答案 1 :(得分:1)
看起来您希望“X”成为对象的中心(Ellipse?)
我可以建议两件事:
创建一个新的依赖项proeprty并将您的setter代码放入OnPropertyChanged回调中以获取新属性。 (这可能是最好的)
将RenderTransform设置为带-Radius的TranslateTransform元素,然后设置Canvas.Left就像设置其中心一样。