在WPF XAML矩形旋转动画 [英] WPF Rotate rectangle animation in XAML
本文介绍了在WPF XAML矩形旋转动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么能无限旋转矩形 - 只有在XAML定义。到目前为止,我发现code,但没有XAML的解决方案:
<一href=\"http://www.$c$cproject.com/Articles/23257/Beginner-s-WPF-Animation-Tutorial\">http://www.$c$cproject.com/Articles/23257/Beginner-s-WPF-Animation-Tutorial
我用这样的:
How can I rotate a rectangle infinitely - ONLY within xaml definition. So far I found a solution with code but no xaml: http://www.codeproject.com/Articles/23257/Beginner-s-WPF-Animation-Tutorial which I use like this:
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
var da = new DoubleAnimation(360, 0, new Duration(TimeSpan.FromSeconds(1)));
var rt = new RotateTransform();
rect1.RenderTransform = rt;
rect1.RenderTransformOrigin = new Point(0.5, 0.5);
da.RepeatBehavior = RepeatBehavior.Forever;
rt.BeginAnimation(RotateTransform.AngleProperty, da);
}
但我怎么可以用XAML实现这一目标只?
But how can I achieve this with XAML only?
推荐答案
像这样
<Rectangle x:Name="rect1" RenderTransformOrigin="0.5, 0.5">
<Rectangle.RenderTransform>
<RotateTransform/>
</Rectangle.RenderTransform>
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)" To="-360" Duration="0:0:1" RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
当然,你可以删除加载
触发,只要你想运行此脚本中。
Of course you can remove Loaded
trigger and run this storyboard whenever you want.
这篇关于在WPF XAML矩形旋转动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文