一个简单的WPF平移动画不执行也不报错,请高手来看看
刚学WPF动画部分,用code写的动画不知道为什么不会执行,但是也没报任何错误。功能仅仅只是让一个矩形平移一段距离,代码如下。在线求解!!
XAML代码:
<Rectangle Width="200" Height="100" Fill="#FFF70505" Name="rectangle" />
<Button Content="Button" Height="25" Width="78" Click="Button_Click">
C# 代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
rectangle.RenderTransform = new TranslateTransform();
DoubleAnimation animation = new DoubleAnimation();
animation.To = 50;
animation.Duration = new System.Windows.Duration(TimeSpan.FromSeconds(2));
Storyboard storyboard = new Storyboard();
Storyboard.SetTarget(animation, rectangle.RenderTransform);
Storyboard.SetTargetProperty(animation, new PropertyPath(TranslateTransform.XProperty));
storyboard.Children.Add(animation);
storyboard.Begin();
}
[解决办法]
下面代码测试过,是可行的:
rectangle.RenderTransform = new TranslateTransform(); DoubleAnimation animation = new DoubleAnimation(); animation.To = 250; animation.Duration = new System.Windows.Duration(TimeSpan.FromSeconds(2)); Storyboard storyboard = new Storyboard(); Storyboard.SetTarget(animation, rectangle); Storyboard.SetTargetProperty(animation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)")); storyboard.Children.Add(animation); storyboard.Begin();