问题标签 [wpf-animation]

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 回答
310 浏览

c# - 如何使用 DoubleAnimation 缩小图像

我必须DoubleAnimations将我的Image元素从一个地方移动到另一个地方,但是当我尝试添加另一个DoubleAnimation以缩小图像时,我的代码中断了,这是我的代码:

我在调试“无法解析指定对象上的 TargetProperty X”时收到此错误。

有谁知道我做错了什么?

0 投票
1 回答
335 浏览

c# - 在 wpf 和 c# 中为对象设置动画的正确方法

我想用 制作动画WPF,但我不知道正确的方法。动画应该是异步的。动画应该是一个增长(高度)的矩形

图片

. 像这样的画布对象是一个不错的选择吗?

也许你们中的某个人可以给我一个有用的链接。我不想要任何代码片段。

0 投票
1 回答
1005 浏览

c# - 动画矩形移动到窗口WPF

我想要动画一个弯曲的矩形,我必须从它的外部移动到实际的 Window 组件中,最好就像它刚刚出现在屏幕上一样。到目前为止,我已经看到了在位于窗口内的画布内滚动动画的建议。我不知道我是否真的可以让 Canvas 在实际窗口之外。我是不是该?那里有更好的想法吗?

这是我的 XAML,到目前为止它是代码隐藏的。

用户菜单.xaml:

用户菜单.xaml.cs:

有任何想法吗?

0 投票
1 回答
1982 浏览

wpf - WPF - 在 xaml 中完成另一个动画后开始动画

我正在使用 WPF,并且我有 2 个故事板动画。我希望在第一个动画完成后开始第二个动画。如何在 xaml 代码中执行此操作?

0 投票
1 回答
318 浏览

wpf - WPF - 动态加载的 XAML 中的动画

我有独立的 XAML 文件,这些文件动态加载到 MainWindow 中。XAML 文件包含动画。加载 XAML 很简单,但是一旦加载了 XAML,让动画工作的正确方法是什么。这是我的测试代码,如果粘贴到常规 WPF 窗口可以正常工作,但如果动态加载,动画似乎不会开始。我怀疑对 TargetName 和 TargetProperty 的引用存在问题。

XAML:

C#代码:

0 投票
0 回答
929 浏览

c# - 在“System.Windows.Controls.ControlTemplate”的名称范围内找不到名称

就在昨天,在非常相似的情况下,这段代码在完全相同的机器上工作。今天它抛出了一个异常。

“在‘​​System.Windows.Controls.ControlTemplate’的名称范围内找不到‘SelectedContentBorder’名称。”

就这个:

那有什么问题?

0 投票
2 回答
687 浏览

wpf - 在加载 WPF 时使边框放大

对于我的生活,我无法弄清楚为什么下面的简单设置不起作用。我只希望边框在加载后放大(“放大”),放大功能包含在资源样式中。但是当下面的 XAML 运行时,边框只是以 100% 的比例加载,没有动画发生。您的帮助将不胜感激!

编辑:我没有在上面显示完整的标记,以便让事情保持简单,但我的完整标记在下面。请注意,由于边框内有按钮,因此边框在运行时确实具有高度/宽度。

0 投票
0 回答
146 浏览

wpf - 播放 WPF 动画时未完成的计时器请求

WPF 中的任何动画都会请求 1 毫秒的计时器分辨率,低于 Windows 默认的 15.6 毫秒,这会在任何动画运行时导致电池耗尽。我正在使用 .net 4.5 并在 Windows 10 中运行,但它也在 Windows 7 和 8 中发生。

这是我的代码:

为了检查请求的计时器分辨率,在以管理员身份运行的命令提示符中运行以下命令并检查结果:

有没有办法克服这个问题或任何解决方法?谢谢。

更新

这么晚才回复很抱歉。微软的 windows 计时器分辨率解释是:

系统计时器分辨率决定了 Windows 执行两个主要操作的频率: 如果一个完整的滴答已经过去,则更新计时器滴答计数。检查定时定时器对象是否过期。

默认情况下,Windows 计时器分辨率为 15.6 毫秒,但任何程序都可以请求降低它,这会对电池消耗造成很大的影响。例如 Chrome 和 vlc 通过降低计时器分辨率而闻名。

最近我发现播放任何 wpf 动画都会将计时器分辨率降低到 1ms,因为它使用了内部时钟来同步动画(我假设)。当动画停止时,计时器分辨率恢复到正常值,但在播放时 CPU 消耗急剧增加。您在动画上设置的帧率也对此没有影响。

我想知道是否有任何方法可以防止这种情况发生,但恐怕这是 WPF 中的一个已知问题,没有办法解决它。

最后,我将自己的程序动画与调度程序计时器一起使用,这不会影响计时器的分辨率,并且令人惊讶的是它不会消耗太多的 cpu,但由于它们取决于渲染线程的工作负载,所以并不那么流畅。

您可以在此处找到有关此内容的更多信息:

http://download.microsoft.com/download/3/0/2/3027d574-c433-412a-a8b6-5e0a75d5b237/timer-resolution.docx

https://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/

0 投票
1 回答
25 浏览

.net - 如何创建一个动画面板,只有在设定时间后没有触发时才会离开?

我的视图中有一个简单的Border元素,它带有一个TextBlock绑定到表示我的应用程序中进程状态的字符串的子元素。

我正在尝试为该边框设置动画,以便在TextBlock修改绑定到的字符串时滑入以从屏幕外查看。

这是我到目前为止所拥有的:

这按预期工作,但有两个问题我不知道如何解决:

  1. 每当文本更改我不想要这个时,动画就会重新开始。我想要的是在它滑开之前等待 5 秒以重新启动。因此,如果文本不断更新,那么面板应该保持静止,直到距离上次更新超过 5 秒,然后向上滑动。
  2. 当应用程序启动时,动画会立即播放。我猜是因为初始绑定算作更新。我怎样才能阻止这种情况发生?
0 投票
2 回答
454 浏览

c# - 为什么这个翻译动画不起作用?

我有以下动画,在某些事件中应该导致按钮从左向右移动:

但什么也没发生。可能是什么问题?