我编写了一个控制器,可以形成星形,点数和每个点的长度可以通过依赖属性进行配置。我可以将它们绑定到Slider控件,一切正常。
现在我已经写了一个注入''这个星形控制到一个加载控件的可视树中,然后,在代码中,制作一个动画,使星星成长,消失,就像卡通闪光灯一样。
我的动画没有运行。触发Storyboard.Completed
事件,但在页面加载时,在初始设置后,动态依赖项属性的更改处理程序中的断点永远不会被命中。
我使用了几个DoubleAnimation
个实例。
(这是Q / A我在3小时后解决了)
答案 0 :(得分:1)
您需要在EnableDependentAnimation
上设置DoubleAnimation
属性。来自MSDN:
并非您创建的所有自定义动画都可以在Windows中默认运行 运行时应用程序,如果动画系统确定动画 可能会导致UI中的性能下降。动画所在的系统 确定可能存在性能影响被称为依赖 动画。它是依赖的,因为动画的时钟是 直接针对UI线程工作,该线程也是活动的 用户输入和其他更新正在尝试应用运行时更改 到UI。一个消耗大量系统的依赖动画 UI线程上的资源可以使应用程序显示无响应 某些情况。如果您的动画导致布局更改或 否则有可能影响UI线程的性能, 您经常需要显式启用动画才能看到它运行。 这就是具体的EnableDependentAnimation属性 动画类是为了。请参阅相关和独立动画 更多信息。
非常容易被发现。幸运的是你在这一天选择了RTFM,否则你最终可能会编写自己的计时器和东西来强制所有其他工作在聪明的星形控制上而不是浪费。