WPF —— 动画旋转变换

RotateTransform:在二维x-y坐标系统内围绕指定点顺时针旋转某个对象:

在故事板中依赖属性为:RenderTransform.Angle就是要进行旋转的角度

直接给按钮添加 RenderTransformOrigin="0.5,0.5" 是中心位置 。值是比例0 和1,

XML 复制代码
 <Button Width="100" Height="40" RenderTransformOrigin="0.5,0.5">

TransformGroup 可以支持多个变换 支持平移 也支持旋转

XML 复制代码
<TransformGroup>
    <TranslateTransform></TranslateTransform>
    <!--Angle = "90" 一开始旋转的效果 正值是顺时针,赋值是逆时针-->
    <!--CenterX="50" CenterY="20" 可以设置旋转的中心点,这两个值是宽度的一般和高度的一半-->
    <RotateTransform x:Name="rot"></RotateTransform>
    <ScaleTransform></ScaleTransform>
    <SkewTransform></SkewTransform>
</TransformGroup>

第一个触发类型

XML 复制代码
<EventTrigger RoutedEvent="MouseEnter">
    <BeginStoryboard>
        <Storyboard>
            <!--Angle 角度-->
            <DoubleAnimation Storyboard.TargetName="rot"
                Storyboard.TargetProperty="Angle"
                             To="360"
                             Duration="0:0:0.01"
                             RepeatBehavior="Forever">
                
            </DoubleAnimation>
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>

第二个触发器 触发这个事件的时候 开启了第二个动画,这个动画没有from to属性,可以在规定的时间内回到原始点

XML 复制代码
<EventTrigger RoutedEvent="MouseLeave">
    <BeginStoryboard>
        <Storyboard>
            <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
                             Duration="0:0:2">
                
            </DoubleAnimation>
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>
相关推荐
WineMonk12 小时前
WPF 力导引算法实现图布局
算法·wpf
FuckPatience19 小时前
WPF 国际化ResXManager的使用-梳理
wpf
武藤一雄20 小时前
Avalonia与WPF的差异及避坑指南 (持续更新)
前端·前端框架·c#·.net·wpf·avalonia
ou.cs1 天前
WPF OxyPlot 时间轴完美显示! X 轴精准显示 时:分 格式(含完整源码)
c#·wpf
500841 天前
鸿蒙 Flutter 分布式安全:软总线加密通信与设备互信认证
分布式·安全·flutter·华为·架构·wpf·开源鸿蒙
跟着珅聪学java1 天前
RedisTemplate 分布式锁实现详解
wpf
武藤一雄1 天前
C#:进程/线程/多线程/AppDomain详解
后端·微软·c#·asp.net·.net·wpf·.netcore
武藤一雄2 天前
C# Prism框架详解
开发语言·后端·微软·c#·.net·wpf
wniuniu_2 天前
ceph基础知识
ceph·wpf
DataIntel2 天前
WPF 操作之Dispatcher--- 只在多线程更新 UI 时使用。
wpf