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>
相关推荐
Mr_pyx5 小时前
微服务可观测性实战:分布式链路追踪从入门到精通
wpf
c#上位机1 天前
wpf附加事件
wpf
玖笙&1 天前
✨WPF编程进阶【9.1】:WPF资源完全指南(附源码)
c++·c#·wpf·visual studio
想你依然心痛1 天前
HarmonyOS 6(API 23)分布式实战:基于悬浮导航与沉浸光感的“光影协创“跨设备白板系统
分布式·wpf·harmonyos·悬浮导航·沉浸光感
c#上位机3 天前
wpf路由事件
wpf
nashane3 天前
HarmonyOS 鸿蒙 2026 全栈实战:从手势驱动到分布式数据落地的完整架构
wpf·harmony app
秋雨雁南飞3 天前
WPF 国际化(全球化)管理
wpf
nashane4 天前
HarmonyOS 6.0 分布式数据库进阶:设备协同与高效数据同步实战(API 11 Stage 模型)
wpf·harmonyos 5
极客智造4 天前
WPF InputBindings MVVM详解
wpf
nashane4 天前
HarmonyOS 6.0 分布式数据实战:KVStore跨设备同步与高性能查询指南(API 11 Stage模型)
wpf·harmonyos 5