WPF 动画首次运行

标签 wpf animation storyboard

我有一个简单的 WPF 应用程序,其中包含一个用户控件,该控件由主窗口上的一对 Storyboard动画进出。我正在为用户控件的不透明度、scaletransform.scalex 和 scaletransform.scaley 设置动画以将其弹出和弹出 View 。除了第一次运行之外,它看起来很酷。动画设置为 3/10 秒,尽管我在测试期间增加了这个时间。我尝试在几分之一秒内设置默认值,以查看是否存在我正在制作动画的属性值未按预期默认的问题。那什么也没做。我什至在加载的窗口上明确调用我的“隐藏”动画,看看这是否有助于我设置默认值,但这也不起作用。我第一次触发动画时,运行时是否进行了一些初始化?有没有办法在显示 UI 之前显式调用这种初始化?症状是控件直到第一个动画大约 2/10 秒时才可见。有时它会更长,并且控件在完全动画后显示(不透明度和大小是它们最终显示时的最终值)。

最佳答案

听起来您在动画之前设置了 UserControl 的 DataContext 。大概您正在进行绑定(bind),即创建视觉对象并将它们添加到视觉树中,同时动画应该开始。这需要动画正在争取的处理。避免这种情况的方法是将控件实例化(设置了 DataContext),但将其隐藏,因此不需要在动画时执行可视对象创建。 (通过我的同事蒂姆·李)

关于WPF 动画首次运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940194/

相关文章:

objective-c - 动画阿尔法变化

iphone - 如何执行转场

ios - 如何使用 poptoviewcontroller 返回到我以前的 Controller

storyboard - 使用 Storyboard 代码在 Windows 通用应用程序中的资源字典中工作

c# - 跨多个 Windows 10 虚拟桌面的持久窗口?

c# - WPF 使用动画来移动组件

c# - Windows 窗体用户控件 + 面板 : WPF Equivalent

javascript - 新版本的 Popmotion 轮播修复

.net - 项目中的所有系统命名空间都未定义

c# - ShellExecute 与 Process.Start