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 事件在情节提要结束时触发 的相关文章

  • 如何使用 LINQ ForEach 更改 List

    我有一个List
  • 我们可以在 C# 中定义枚举的隐式转换吗?

    是否可以在 C 中定义枚举的隐式转换 可以实现这一目标的东西吗 public enum MyEnum one 1 two 2 MyEnum number MyEnum one long i number 如果没有 为什么不呢 有一个解决方案
  • HTML 文档

    有没有一个工具可以从 VS2010 生成的 XML 文档文件生成 HTML 页面 我在谷歌上搜索了这样的工具 但没有找到 我下载并安装了SandCastle 但我不明白如何使用它 尝试使用Sandcastle 帮助文件生成器 http sh
  • 在 2 个 .c 文件之间共享函数

    dir1有dir2 file1 c和file1 h dir2 有 file2 c 现在 如果我想在 file2 c 中访问 file1 c 中定义的函数 我需要在 file1 h 中声明它并在 file2 c 中包含 file1 h 这是一
  • OWIN AuthenticationOptions 在 mvc5 应用程序中运行时更新

    Hi 情况如下 我在 iis 7 上有一个带有 Identity 2 的 MVC 5 应用程序 该应用程序为多个网站提供服务 主机名是某些网站的关键 网站 另一个网站 等等 我决定在我的所有网站上使用谷歌外部登录 每个网站都应该是带有个人
  • 带方括号的 Uri.EscapeUriString

    这是一个奇怪的问题 但让我们看看它会得到什么样的回应 如果我编写一个控制台应用程序 VS 2013 NET 4 5 1 并执行这行代码 Uri EscapeUriString 我明白了 但是 如果我执行同样的事情 嗯 从技术上来说Uri E
  • 使用索引避免迭代器失效,维护干净的接口

    我创建了一个MemoryManager
  • 如何从 std::vector 中删除元素而不调整其大小

    迭代器擦除 迭代器位置 迭代器擦除 首先是迭代器 迭代器最后 擦除元素 从向量中删除 容器可以是单个元素 位置 或一系列元素 第一个 最后一个 这有效地减少了向量 大小除以元素数量 删除 调用每个元素的 之前的析构函数 and remove
  • 在异步方法中使用时 HttpClient 标头被清空

    我正在使用 NET Framework 4 6 1 我的 Web api 中有一个控制器 其中有静态 HttpClient 来处理所有 http 请求 在 IIS 上托管我的应用程序后 大约每月一次 我的应用程序的所有传入请求都会出现以下异
  • 在宏中使用 # [重复]

    这个问题在这里已经有答案了 请解释一下代码 include
  • C# Visual Studio 动态代码片段

    我正在开发一个 WinForms 项目 每天都会执行一些重复性的任务 所以我认为创建代码片段 https msdn microsoft com en us library ms165394 v vs 110 aspx会帮助我 但它仅适用于固
  • MVVM 同步集合

    是否有一种标准化方法可以将 Model 对象集合与 C 和 WPF 中匹配的 ModelView 对象集合同步 我正在寻找某种类 可以使以下两个集合保持同步 假设我只有几个苹果 并且可以将它们全部保存在内存中 换句话说 我想确保如果我将 A
  • 如何在 WCF 中反序列化自定义 SOAP 标头?

    我正在尝试向通过 WCF 的所有 SOAP 请求添加自定义标头 我发现这篇精彩的文章 http blogs msdn com b mohamedg archive 2012 10 21 adding custom soap headers
  • 第三方引用的 dll 未被复制来构建

    我有一个第三方 net dll 被我的 dll 类库项目 A 引用和使用 我的控制台应用程序项目 B 引用项目 A 我的问题是第三方 dll 没有被复制到控制台应用程序项目 B 的构建中 这里有什么问题呢 我的 dll 类库中引用的第三方
  • 如何通过 Excel 互操作对象自动调整列大小?

    下面是我用来将数据加载到 Excel 工作表中的代码 但我希望在加载数据后自动调整列的大小 有谁知道自动调整列大小的最佳方法 using Microsoft Office Interop public class ExportReport
  • 没有类型的 IEnumerable 属性

    我正在尝试创建一个类似于来自 MSDN 的官方 DataGrid ItemsSource 的属性 public IEnumerable ItemsSource get set 这提供了对任何派生类中任何类型的支持 有了这个 我可以设置类似的
  • 矩阵行列式算法 C++

    我是编程新手 我一直在寻找一种找到矩阵行列式的方法 我在网上找到了这段代码 但我很难理解这里的算法 我对递归的基础没有问题 但继续和主循环我很难理解 非常感谢任何可以向我解释该算法的人 int determ int a MAX MAX in
  • PC 上 XNA 中的信箱和缩放

    有没有一种方法可以让我基本上以 1080p 或 720p 作为默认分辨率来开发 XNA 游戏 然后根据设置的分辨率将游戏中的所有内容缩放到适当的大小 而不必在每个 Sprite 中设置缩放因子Draw 方法 我的想法是 我可以基于 1080
  • Task.Delay 到底是如何工作的?

    他们说 Task Delay 是一个异步 Thread Sleep 为了测试这一点 我写了下面的代码 我希望立即打印 One 然后 3 秒后将打印结果变量 15 2 秒后 将打印 Two 但似乎并非如此 一 不会立即打印 3 秒后打印 On
  • 具有可导出私钥的证书的“错误密钥”例外

    我正在尝试使用非对称加密来加密然后解密文件 我已经使用 makecert 创建了一个测试证书并将其安装到我的个人本地计算机存储中 将来我必须在多个服务器上安装此证书 这就是为什么我使用 pe 标志创建它 即使用可导出的私钥 证书已成功创建并

随机推荐

  • 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