问题标签 [storyboard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1333 浏览

wpf - 我们如何提高 WPF 动画(其中 100 个)的性能?

我们有一个在运行时生成大约 100 个动画的应用程序,它们都被添加到一个故事板中然后播放。问题是动画非常慢。动画对象是形状和样条线,并且在后端进行了大量计算以生成自定义样条线。跑步机是四核,显卡不错。

关于我们如何解决这个问题的任何建议?我们是否需要将动画拆分为多个故事板或在不同的画布上制作动画?

谢谢

0 投票
1 回答
2575 浏览

wpf - WPF PropertyPath 问题 - 无法解析属性路径中的所有属性引用

我正在努力让 PropertyPath 工作 - 我在窗口资源中有一个转换,我试图通过 StoryBoard 影响它 - 也在窗口资源中......

这是我正在使用的属性路径...

编辑:多亏了 Anurags 的建议,我有了更进一步的... (Viewport2DVisual3D.Transform).(Transform3DGroup.Children)[0].(RotateTransform3D.Rotation).(AxisAngleRotation3D.Angle)

但现在它出现“旋转属性不指向 DependencyProperty”的错误

谁能让我回到正轨?

这是完整的代码...

0 投票
2 回答
797 浏览

wpf - 如何在 wpf 中将声音添加到情节提要?

甚至可能吗?

0 投票
1 回答
748 浏览

c# - 无论如何要在 Silverlight 中以纯 XAML 启动/停止/恢复/暂停情节提要,对于任何事件?

Silverlight 中有什么方法可以通过响应给定控件的任何给定事件来编写纯 XAML 代码来控制故事板?例如,当用户将鼠标移到面板上时,我可能需要启动情节提要,并在他将鼠标移出时暂停它。

0 投票
2 回答
1566 浏览

silverlight - 如何在 Silverlight 中找出情节提要的持续时间?

我有一种情况,我需要确定我是否已经到达情节提要的结尾,然后需要寻找它的结尾。

我想要做:

但是,如果时间跨度比情节提要的持续时间长,我会得到一个例外。如果我看

我收到一个错误,因为持续时间是自动的。这意味着我不能做“if(timespan > storyboard.Duration.TimeSpan) ...”

一旦我知道我正在寻找的位置已经超出了故事板的结尾,我就需要寻找到故事板的结尾。我可以使用 storyboard.Seek(storyboard.Duration.TimeSpan) 来做到这一点,但同样,我不能使用 Duration,因为它是自动的。

如果我可以强制持续时间远离自动,似乎我所有的问题都可以解决。希望我只是缺少一些简单的东西。

0 投票
1 回答
1805 浏览

wpf - WPF - 从父元素分配情节提要开始时间

我已经创建了一个基本的微调器类型控件,它工作得相当好,但其中有大量重复的代码。除了两个属性之外,它基本上是一遍又一遍的相同元素,其中一个属性是情节提要的 BeginTime - 每一行只是无休止地重复其动画,但每一行在前一行之后开始 0.1 秒小波浪效应。

这是代码的总体思路:

我不想把整件事都贴出来,那可能看起来太痛苦了,但你明白了。从 Line.Triggers 到 /Line.Triggers 的唯一变化是情节提要的 BeginTime。XAML 中有没有一种方法可以在 Line 中定义 BeginTime,然后在 Storyboard 中读取它,这样我就可以做一些更接近的事情:

我似乎无法追踪是否有办法在 XAML 中执行此操作,从树上更高的元素向情节提要传递其属性之一的值。这种事情甚至可能吗,还是我应该在代码隐藏中做呢?如果我决定完全调整动画,这并不是现在做的最愉快的事情。

谢谢!

0 投票
1 回答
2539 浏览

wpf - MVVM 模式的动画

使用 MVVM 模式时触发动画的最佳方式是什么?更具体地说,我有一个包含多个字段的表单。当用户单击 saveButton时,我想显示一个动画。我已经能够通过公开属性ShowMessage并将其设置为 True 并DataTrigger获取该值并启动动画来实现这一点。但是,虽然动画仍处于活动状态,但我想将表单重置为干净状态。到目前为止,我已经通过订阅事件并在该Complete事件上Storyboard重置视图模型的状态来完成重置。

理想情况下,我希望能够以某种方式从视图模型触发动画(因为保存将是异步操作)并让动画运行完成。我现在的方式不起作用,因为一旦我更改ShowMessage属性的值(在重置时),动画就会停止并且不会运行完成。

有没有人有更好的解决方案?

谢谢!

0 投票
2 回答
3475 浏览

wpf - 以编程方式反转情节提要

我有以下故事板:

它基本上在画布中移动一些按钮。

这是启动动画的代码:

我要做的是在单击隐藏窗口的按钮时重置动画。当窗口重新出现时,动画应该从头开始。

我尝试在应用程序重新出现时使用 storyBoard.Begin(this, true) ,但在最初的几毫秒内,按钮位于最后一个位置。

然后我在隐藏窗口之前尝试了 storyBoard.seek(TimeSpan.Zero) 但它失败了:

System.Windows.Media.Animation 警告:6:无法执行操作,因为指定的情节提要从未应用于此对象以进行交互式控制。行动='寻找'; Storyboard='System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode='24901833'; Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='System.Windows.Media.Animation.Storyboard'; TargetElement.HashCode='24901833'; TargetElement.Type='System.Windows.Media.Animation.Storyboard'

在隐藏窗口之前,我还尝试了 storyBoard.remove(this),效果相同:按钮位于最后一个位置。

有任何想法吗?

谢谢你。

0 投票
2 回答
20879 浏览

wpf - WPF 在可见性上停止情节提要已更改

我有一个带有故事板的用户控件,我想在控件的可见性更改时停止动画。

我创建了一个触发器来暂停动画并根据状态启动它,但我不断收到 ArgumentException。

这是 XAML:

这是例外:

值“System.Windows.Media.Animation.PauseStoryboard”不是“System.Windows.SetterBase”类型,不能在此通用集合中使用。参数名称:值

我将如何在 XAML 中执行此操作?

谢谢,劳尔

0 投票
1 回答
7677 浏览

wpf - 如何使用情节提要更改wpf中网格行的高度

我有Grid2 行:

和 2Storyboard秒:

当我尝试修改名为的行的高度时,OtherContactsRow收到以下错误:

'System.Windows.Media.Animation.DoubleAnimation' animation object cannot be used to animate property 'Height' because it is of incompatible type 'System.Windows.GridLength'.

有什么解决办法吗?