У меня есть простой код для анимации движения на холсте. Проблема в том, что после завершения анимации элемент не имеет правильного значения.
Вот пример:
<Canvas Name="_canvas" >
<Button Content="Button" Height="23" HorizontalAlignment="Left" Name="button1" VerticalAlignment="Top" Width="292" Canvas.Left="56" Canvas.Top="26">
<Button.Triggers>
<EventTrigger RoutedEvent="ButtonBase.Click">
<BeginStoryboard>
<Storyboard Completed="Timeline_OnCompleted">
<DoubleAnimation Duration="0:0:1" To="264" Storyboard.TargetProperty="(Canvas.Top)"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
</Canvas>
И в коде позади
private void Timeline_OnCompleted(object sender, EventArgs e)
{
button1.Content = "Top is " + Canvas.GetTop(button1) + "and should be 264";
}
Результат после завершения анимации
![example](https://i.stack.imgur.com/fCJuF.png)