读书人

一个简单的WPF平移动画不执行也不报错

发布时间: 2012-04-08 14:38:30 作者: rapoo

一个简单的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();
}

[解决办法]
下面代码测试过,是可行的:

C# code
 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(); 

读书人网 >CAD教程

热点推荐