当前位置: 首页 > news >正文

WPF 一个弧形手势提示动画

原文: WPF 一个弧形手势提示动画

这是一个操作提示动画,一个小手在屏幕上按照一个弧形来回运动

<Window x:Class="LZRichMediaWall.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:LocWindow="clr-namespace:LZRichMediaWall.UIControls" xmlns:childControls="clr-namespace:LZRichMediaWall.UIControls.ChildControls" Title="MainWindow" WindowState="Maximized" AllowsTransparency="True" WindowStyle="None"> <Window.Resources> <PathGeometry x:Key="path"> <PathFigure StartPoint="0,100"> <PathFigure.Segments> <PathSegmentCollection> <ArcSegment Size="100,80" IsLargeArc="True" SweepDirection="CounterClockwise" Point="600,100" /> </PathSegmentCollection> </PathFigure.Segments> </PathFigure> </PathGeometry> </Window.Resources> <Window.Triggers> <EventTrigger RoutedEvent="Window.Loaded"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimationUsingPath Storyboard.TargetName="tipGd" Storyboard.TargetProperty="(Canvas.Left)" PathGeometry="{StaticResource path}" Duration="0:0:5" RepeatBehavior="Forever" Source="X" AutoReverse="True" /> <DoubleAnimationUsingPath Storyboard.TargetName="tipGd" Storyboard.TargetProperty="(Canvas.Top)" PathGeometry="{StaticResource path}" Duration="0:0:5" RepeatBehavior="Forever" Source="Y" AutoReverse="True" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Window.Triggers> <Grid x:Name="main_Gd" Background="Black"> <Canvas x:Name="animat_Cvs" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="-650,0,0,500" Visibility="Collapsed"> <Path Stroke="Transparent" StrokeThickness="0" Data="{StaticResource path}" Canvas.Top="10" Canvas.Left="10"> </Path> <Grid x:Name="tipGd" Height="63" Width="89" Visibility="Visible" MouseLeftButtonDown="TipGd_OnMouseLeftButtonDown"> <!--<Image Height="55" Width="89" Margin="0,-100,-30,0" Source="/LZRichMediaWall;component/Images/点我.png"></Image>--> <!--<Image x:Name="quan" Height="50" Width="50" Source="/LZRichMediaWall;component/Images/圈.png"> <Image.Triggers> <EventTrigger RoutedEvent="UserControl.Loaded"> <BeginStoryboard> <Storyboard x:Name="storyB" RepeatBehavior="Forever" AutoReverse="True"> <DoubleAnimation From="0.0" To="1.0" Duration="0:0:0.5" Storyboard.TargetName="quan" Storyboard.TargetProperty="Opacity"/> </Storyboard> </BeginStoryboard> </EventTrigger> </Image.Triggers> </Image>--> <Image x:Name="show" Height="63" Width="76" Margin="0,0,-5,-60" Source="/LZRichMediaWall;component/Images/手.png"></Image> </Grid> <Label x:Name="textTip" Height="50" Width="300" Content="单 指 滑 动" FontSize="30" Foreground="White" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Canvas.Left="200" Canvas.Top="320"> <Label.Triggers> <EventTrigger RoutedEvent="UserControl.Loaded"> <BeginStoryboard> <Storyboard x:Name="storyB" RepeatBehavior="Forever" AutoReverse="True"> <DoubleAnimation From="0.0" To="1.0" Duration="0:0:1" Storyboard.TargetName="textTip" Storyboard.TargetProperty="Opacity"/> </Storyboard> </BeginStoryboard> </EventTrigger> </Label.Triggers> </Label> </Canvas> </Grid> </Window>

 

相关文章:

  • day11 高阶函数 函数式编程
  • dubbo-consumer
  • echarts 与 百度地图bmap结合系列: 如何设置地图缩放级别和监听缩放事件
  • 洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)
  • python3笔记一基础语法
  • DES/3DES(TripleDES)加密、解密测试数据
  • centos7源码安装lamp(新)
  • nginx set变量后lua无法改值
  • RabbitMQ Performance Testing Tool 性能测试工具
  • Perl检查引用类型
  • 网络七层协议
  • django中获得当前域名
  • Java编程基础24——递归练习
  • E-HPC支持多队列管理和自动伸缩
  • 聊聊我的linux系统学习之路
  • [译]Python中的类属性与实例属性的区别
  • 「译」Node.js Streams 基础
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • canvas 五子棋游戏
  • FastReport在线报表设计器工作原理
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Lsb图片隐写
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • SSH 免密登录
  • Vim Clutch | 面向脚踏板编程……
  • 回流、重绘及其优化
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 码农张的Bug人生 - 初来乍到
  • 前言-如何学习区块链
  • 区块链分支循环
  • 如何用vue打造一个移动端音乐播放器
  • 入口文件开始,分析Vue源码实现
  • 想写好前端,先练好内功
  • hi-nginx-1.3.4编译安装
  • Spring第一个helloWorld
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #13 yum、编译安装与sed命令的使用
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (11)MSP430F5529 定时器B
  • (6)STL算法之转换
  • (done) 两个矩阵 “相似” 是什么意思?
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (算法设计与分析)第一章算法概述-习题
  • ./configure、make、make install 命令
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .Net 8.0 新的变化
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET文档生成工具ADB使用图文教程
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • .vue文件怎么使用_vue调试工具vue-devtools的安装