Используя WPF 3.5, я хочу переместить холст и после завершения анимации переместить его дальше, используя вторую раскадровку. У меня есть следующее:
<Storyboard x:Key="Move" Completed="OnMoveCompleted" AutoReverse="False" FillBehavior="HoldEnd">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="canvas">
<SplineDoubleKeyFrame KeyTime="0:0:1.5" Value="-50"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Move2" AutoReverse="False">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="canvas">
<SplineDoubleKeyFrame KeyTime="0:0:1.5" Value="-75"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
И в коде позади я получил:
public void OnMoveCompleted(object sender, EventArgs e)
{
var moveStoryboard = (Storyboard)FindResource("Move2");
moveStoryboard.Begin();
}
Move2 только перемещает холст 75 - 50 = 25 пикселей. Я хочу, чтобы холст сначала переместился на 50 пикселей, а затем еще на 75 пикселей. Я думал, что это может работать из-за FillBehaviour = "HoldEnd", поэтому следующая раскадровка может работать с преобразованным значением свойства Y из первой раскадровки, но кажется, что вторая раскадровка просто работает с начальным значением (хотя холст, кажется, не вернуться к самому началу, хотя бы визуально).
Пожалуйста, мне нужно решение, не считая просто преобразования в одну раскадровку.