DoubleAnimation.Completed 事件在情节提要结束时触发

2023-12-28

所以我有一个Storyboard它将依次运行多个动画(并非所有动画同时运行),并且在其中一些动画中我订阅了DoubleAnimation.Completed事件。动画运行得很好,但是Completed动画的事件仅在整个事件触发一次Storyboard完成后,而不是单个动画完成时(BeginTime下一个动画)。例如:

Storyboard storyboard = new Storyboard();

DoubleAnimation hideAnimation = new DoubleAnimation();
hideAnimation.Duration = TimeSpan.FromSeconds(0.5);
hideAnimation.BeginTime = TimeSpan.FromSeconds(0);
hideAnimation.From = 1.0;
hideAnimation.To = 0.0;
hideAnimation.Completed += new EventHandler(HideAnimation_Completed);
Storyboard.SetTarget(hideAnimation, grid1);
Storyboard.SetTargetProperty(hideAnimation, new PropertyPath(Grid.OpacityProperty));

DoubleAnimation showAnimation = new DoubleAnimation();
showAnimation.Duration = TimeSpan.FromSeconds(0.5);
showAnimation.BeginTime = TimeSpan.FromSeconds(0.5);
showAnimation.From = 1.0;
showAnimation.To = 0.0;
showAnimation.Completed += new EventHandler(ShowAnimation_Completed);
Storyboard.SetTarget(showAnimation, grid2);
Storyboard.SetTargetProperty(showAnimation, new PropertyPath(Grid.OpacityProperty));

storyboard.Children.Add(hideAnimation);
storyboard.Children.Add(showAnimation);
storyboard.Begin();

在这个例子中HideAnimation_Completed将在 1 秒后调用(总持续时间storyboard) 之后HideAnimation_Completed已经完成了,ShowAnimation_Completed叫做。

是在期待着HideAnimation_Completed0.5 秒后调用并且ShowAnimation_Completed1 秒后,而不是两者都在 1 秒后。

那些人知道这是否是 WPF 的预期行为,还是我错过了什么?

注意:前面的代码只是解释我遇到的问题的示例。在我的真实程序中,我有多个动态生成的动画并添加到全局中Storyboard在班级的不同部分。因此,在前一个动画结束时开始每个动画的想法是使用Completed事件和UIElement.BeginAnimation方法,是我的最后一个资源,因为这将涉及修改相当多的代码(并且它可能会对我的应用程序的性能产生很大的影响)。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DoubleAnimation.Completed 事件在情节提要结束时触发 的相关文章

随机推荐

  • RxJS 新手,范围不是函数

    我正在尝试创建一个简单的 TypeScript 文件来使用 RxJS 这是我所做的 npm 安装 rxjs 引用 跟踪器和系统js 在我的 索引 html 并创建了一个 test ts 文件如下 import Observable from
  • C 字符串比较与哈希比较

    我需要将一个字符串与 c 中的多个其他常量字符串进行比较 我很好奇哪个更快 对我要比较的字符串进行散列并将其与所有其他常量字符串散列进行比较 或者只是将字符串作为字符串进行比较 先感谢您 谢谢你的回答 我会做很多比较 谁能给我一个好的 快速
  • 价值迟到? “下面的值是刚刚评估的”

    let currComp this let projects let dataArr async function getData let getProject await axios get url auth username usern
  • 在ios中对简单字符串进行QRCode编码

    我已经从下载了示例代码github https github com myang git QR Code Encoder for Objective C用于 QRCode 编码 它工作正常 并为我指定的字符串生成带有 QRCode 的图像
  • 生成圆内的随机点(均匀)

    我需要在半径圆内生成均匀随机点R 我意识到 只需在区间 0 2 中选择均匀随机的角度 并在区间 0 2 中选择均匀随机的半径即可 R 我最终会得到更多朝向中心的点 因为对于两个给定的半径 较小半径中的点将比较大半径中的点彼此更接近 I fo
  • send_file 结束后清理 /tmp

    我有一个Redmine插件 我在 tmp 中创建一个临时文件 然后使用 File open 发送它 我想在用户下载临时文件后删除它 我能怎么做 我的代码 在控制器中 File open filelocation r do file send
  • 如何知道 scikit-learn 混淆矩阵标签顺序并更改它

    存在 27 个类别的多分类问题 y predict 0 0 0 20 26 21 21 26 y true 1 10 10 20 26 21 18 26 名为 answer vocabulary 的列表存储了每个索引对应的 27 个单词 a
  • 在php中将DateInterval对象转换为秒

    datetime1 date create 2009 10 11 datetime2 date create 2009 10 13 interval date diff datetime1 datetime2 我如何转换上面的内容 inte
  • 创建 JSON 时,vividsolutions JTS 中的几何图形失败

    朋友们 我在应用程序中使用vividsolutions 的库JTS 1 13 来处理点和多边形 但是当我尝试将几何对象转换为JSON 时 我的应用程序失败了 这是我的来源 RequestMapping value test point me
  • 在 django 1.10 中将 trigram 与排名搜索相结合

    我们在 django 1 10 中进行搜索 我们需要使用三元组搜索进行用户排名搜索 我们的代码是这样的 def get queryset self search self request GET get text vector Search
  • django中的模板如何获取用户对象?

    模板如何获取用户对象 换句话说 渲染过程中究竟是什么过程将用户对象传递给模板 模板中还可以访问哪些内容 使用django contrib auth context processors auth https docs djangoproje
  • iOS 14 中的锁定屏幕方向

    我正在更新旧的 iPad 应用程序 但我无法阻止 iOS 旋转只能以纵向模式查看的控制器 该应用程序有一个UISplitViewController 但在某一时刻 我需要以纵向模式全屏显示另一个控制器 无论 iPad 之前是纵向还是横向 我
  • 从 python 脚本创建可执行文件

    我使用 python 和 wxpython 创建了一个 GUI 程序 现在可以将其转换为可执行文件 在过去的两天里 我按照 py2exe 的各种说明进行了尝试 命令提示符的所有说明均参考旧版本的 Windows 而我使用的是 Windows
  • 在 Bash 中将文本文件作为命令运行

    如果我有一个文本文件 每行都有一个单独的命令 我如何使终端将每一行作为命令运行 我只是不想一次复制并粘贴一行 它不一定是文本文件 它可以是任何类型的有效文件 example txt sudo command 1 sudo command 2
  • 并行视觉工作室解决方案构建

    我知道 msbuild 能够使用多个核心 see here http www hanselman com blog HackParallelMSBuildsFromWithinTheVisualStudioIDE aspx 但是 VS201
  • Typescript:将相似对象的联合转换为对象类型

    如何使用 TypeScript 类型将相似对象的联合转换为对象类型 Input type I key foo value Foo key bar value Bar Output type O foo Foo bar Bar 我不确定这是否
  • 应用程序传输安全策略要求使用安全连接

    我添加了NsAppTransportSecurity作为字典并添加了键NsAllowArbitaryLoads正如每个人所说 但它对我不起作用 我对项目进行了彻底的重建 但仍然出现同样的错误 应该这样做 NSAppTransportSecu
  • 如何将一个 amp-story-page 链接到另一个页面?

    所以 我目前正在使用 AMP amp story 来制作故事 我想知道如何放置一个从一个页面切换到另一页面的按钮 例如 使您从第 5 页转到第 8 页 而不是第 6 页 的按钮 目的是允许用户跳过一些内容 amp story 是否也允许隐藏
  • 为什么 tailwind 中只生成一些 css 类?

    我有一个项目 我使用 Django 作为 css 的后端和尾风 tailwind 没有给我任何错误 并且在我的文件中查找类 但不生成 css 它唯一适用的类是 bg blue 500 仅此而已 如果有人能想到为什么会发生这种情况或如何解决
  • DoubleAnimation.Completed 事件在情节提要结束时触发

    所以我有一个Storyboard它将依次运行多个动画 并非所有动画同时运行 并且在其中一些动画中我订阅了DoubleAnimation Completed事件 动画运行得很好 但是Completed动画的事件仅在整个事件触发一次Storyb