第一种方式
xaml文件添加资源:
第一步:
<UserControl.Resources>
<Storyboard x:Key="RotationStoryboard1" Storyboard.TargetName="BodyGridPlane" Storyboard.TargetProperty="RotationY">
<DoubleAnimation BeginTime="00:00:00" Duration="00:00:01" From="0" To="360"></DoubleAnimation>
</Storyboard>
</UserControl.Resources>
Storyboard.TargetName="BodyGridPlane"设置要旋转的目标的Projection 例如:
第二步:
<Border x:Name="bodypage" Background="#77919191" BorderThickness="1" CornerRadius="5"
HorizontalAlignment="Left" VerticalAlignment="Bottom"
Margin="0,0,0,0" Padding="5" BorderBrush="Black" AllowDrop="True">
<Border.Projection>
<PlaneProjection x:Name="BodyGridPlane" RotationY="0"/>
</Border.Projection>
</Border>
第三步:
var collapseAnimation = (Storyboard)Resources["RotationStoryboard1"];//获取故事板
collapseAnimation.Begin();//效果开始
第二种方式:(纯代码)
/// <summary>
/// </summary>
/// <param name="Pprojection">关联旋转对象的project</param>
/// <param name="Pconterline">旋转轴 RotationY代表旋转Y轴 RotationX代表旋转Z轴</param>
/// <returns></returns>
public void SetAction(Projection Pprojection, string Pconterline)
{
//代码编写一个故事板
DoubleAnimation Ada = new DoubleAnimation();
Storyboard.SetTargetProperty(Ada, new PropertyPath(Pconterline));--旋转Y轴
Storyboard.SetTarget(Ada, Pprojection);//关联旋转对象的project
Ada.From = 0;//旋转开始角度
Ada.To = 360;//旋转结束角度
//da.Duration = new Duration(new TimeSpan(0, 0, 1));//设置旋转时长
Ada.Duration = TimeSpan.FromSeconds(1); //时间1s //设置旋转时长
Ada.BeginTime = new TimeSpan(0, 0, 0);//设置旋转开始时间
//da.RepeatBehavior = RepeatBehavior.Forever;//此代码设置可实现一直旋转
Storyboard story = new Storyboard();//创建新故事板
story.Children.Add(Ada);//故事板添加以上设置
story.Begin();//开始实施
}