第一种方式
第一步:
<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" 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,1));//设置旋转时长 Ada.Duration = TimeSpan.FromSeconds(1); //时间1s //设置旋转时长 Ada.BeginTime = new TimeSpan(0,0);//设置旋转开始时间 //da.RepeatBehavior = RepeatBehavior.Forever;//此代码设置可实现一直旋转 Storyboard story = new Storyboard();//创建新故事板 story.Children.Add(Ada);//故事板添加以上设置 story.Begin();//开始实施 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。