我是WPF的新手,我有一个关于WPF转换的问题:
如何创建和使用它们?我的谷歌搜索结果主要是关于动画而不是过渡。 我的目标是创建这样的东西:
想象一下我有一个形状:
<Rectangle Width="100" Height="200" Name="shape_01" x:Key="shape_01" Fill="Green"/>
whoms旋转将在运行时设置为(尚未)未知值。这意味着,我无法使用Storyboard
或Animation
来创建转场。
我使用以下代码设置旋转角度:
double angle = ....;
((shape_01.RenderTransform as TransformGroup)
.Children.First(_ => _ is RotateTransform) as RotateTransform)
.Angle = angle;
如何将之前的值转换为当前设置的值?
答案 0 :(得分:3)
您可以使用DoubleAnimation
将属性从一个值“转换”到另一个值。如果未设置动画的From
属性,则转换将从当前属性值开始。
double angle = ....;
var animation = new DoubleAnimation
{
To = angle,
Duration = TimeSpan.FromSeconds(1)
};
var transform = ((TransformGroup)shape_01.RenderTransform)
.Children.OfType<RotateTransform>().First();
transform.BeginAnimation(RotateTransform.AngleProperty, animation);