[笔记] WPF 路径动画

需求#

指定对象(Image)按照贝塞尔曲线进行移动

实现#

Image

<Image Source="{StaticResource Image.Activity.Score}"
           x:Name="StarImage"
           VerticalAlignment="Center"
           Width="48" Height="51" Stretch="Uniform">
    <Image.RenderTransform>
        <TranslateTransform x:Name="ScoreImageTranslateTransform"></TranslateTransform>
    </Image.RenderTransform>
</Image>

路径与动画定义


    <FrameworkElement.Resources>

        <ResourceDictionary>

            <PathGeometry x:Key="LeftStarAnimationPathGeometry">
                <PathFigure StartPoint="0,0">
                    <BezierSegment Point1="-50,80" Point2="-120,100" Point3="-300,55">
                    </BezierSegment>
                    <BezierSegment Point1="-740,-100" Point2="-720,-350" Point3="-740,-452">
                    </BezierSegment>
                </PathFigure>
            </PathGeometry>

            <Storyboard x:Key="StarMoveUpStoryboardLeft" TargetName="ContentGrid">

                <DoubleAnimationUsingPath
                    BeginTime="00:00:0.00" Duration="00:00:00.30"
                    Storyboard.TargetName="ScoreImageTranslateTransform"
                    Storyboard.TargetProperty="X"
                    Source="X"
                    PathGeometry="{StaticResource LeftStarAnimationPathGeometry}">
                </DoubleAnimationUsingPath>

                <DoubleAnimationUsingPath
                    BeginTime="00:00:0.00" Duration="00:00:00.30"
                    Storyboard.TargetName="ScoreImageTranslateTransform"
                    Storyboard.TargetProperty="Y"
                    Source="Y"
                    PathGeometry="{StaticResource LeftStarAnimationPathGeometry}">
                </DoubleAnimationUsingPath>

            </Storyboard>
 
        </ResourceDictionary>

    </FrameworkElement.Resources>

参考#

作者:JasonGrass

出处:https://www.cnblogs.com/jasongrass/p/14768424.html

版权:本作品采用「署名 4.0 国际」许可协议进行许可。

posted @   J.晒太阳的猫  阅读(256)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示