gpt4 book ai didi

c# - 在 WPF 中隐式禁用动画

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:41 24 4
gpt4 key购买 nike

我正在开发一个包含动画的 WPF 和 .Net 4 应用程序。

我的控件绑定(bind)到业务逻辑中的特定值,这会在特定条件下切换动画。我遇到的问题是,这些动画可能会在应用程序启动后立即播放,这使得控件在首次显示时朝着其初始状态“动画化”。

例如,假设我正在开发应用程序的登录部分。我有一个代表自定义弹出窗口的控件,如果它们无效,它应该出现在用户名和密码字段上方。当应用程序启动时,这两个字段在默认情况下都是无效的,这会提示弹出窗口通过动画显示。我想阻止这些动画在启动时播放,而不是明确禁用它们。

另一个演示我的问题的示例是绑定(bind)到 bool 属性的切换按钮。如果我在关闭应用程序之前将按钮的状态保存为切换状态,则当应用程序重新启动时按钮将“动画化”到切换状态(因为我在切换状态之间有动画),而不是简单地切换没有动画。

有没有办法暂时禁止所有动画播放?

我在某处读到,禁用动画的最佳方法是在特定 Storyboard上调用 SkipToFill(...)。这样做的问题是我必须明确禁用所有相关的动画,如果事先不知道这些动画,这可能是个问题。

Storyboard theBoard = (Storyboard)FindResource(resourceName); 
theBoard.Begin(this, true);
theBoard.SkipToFill(this);

如果不明确地逐一禁用动画,您将如何禁用它们?这样的事情甚至可能吗?

最佳答案

如何使用附加的依赖属性(附加在 StoryBoards 上)来启用或禁用动画(或将它们的持续时间设置为 0)?也许有一个更简单的解决方案,但由于似乎没有人提出,我建议一个。
Rq:我不确定在窗口打开时播放动画的控件是一件非常无聊的事情。但我不知道,如果屏幕上有很多动画,也许看起来会很奇怪。

关于c# - 在 WPF 中隐式禁用动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com