1

一个有点奇怪的问题,但无论如何要找出 WinRT XAML 主题动画中使用了哪些缓动函数 - 更具体地说,我正在尝试复制 EntranceThemeTransition 的缓动函数(我不能直接使用它)。

我天真地认为使用 .NET Reflector 之类的东西会有所帮助,但我认为我需要实际的源代码而不是 .Net Reflector 显示的内容。

有人有什么想法吗?

4

2 回答 2

1

您可能想查看 MSDN 上的 AnimationMetrics 示例。

有一个AnimationDescription类会告诉你关于内置动画类型的各种信息,基本上是Windows.UI.Core.AnimationMetrics.AnimationEffect枚举中的任何内容。

例如:

var animationDescription = new AnimationDescription(AnimationEffect.EnterPage, AnimationEffectTarget.Incoming);

var s = new System.Text.StringBuilder();
s.AppendFormat("Stagger delay = {0}ms", animationDescription.StaggerDelay.TotalMilliseconds);
s.AppendLine();
s.AppendFormat("Stagger delay factor = {0}", animationDescription.StaggerDelayFactor);
s.AppendLine();
s.AppendFormat("Delay limit = {0}ms", animationDescription.DelayLimit.TotalMilliseconds);
s.AppendLine();
s.AppendFormat("ZOrder = {0}", animationDescription.ZOrder);
s.AppendLine();
s.AppendLine();
//etc

链接:http ://code.msdn.microsoft.com/windowsapps/Animation-metrics-sample-acb0220c

于 2013-01-19T00:18:23.840 回答
0

我相信这些内置动画以不同的方式实现,并且它们独立于常规 Storyboard + 子动画运行,因此您需要通过一些测试来近似这些,这些测试将这些与您并排运行的常规 Storyboard 动画进行比较。

可视化缓动函数的一种方法是运行主题转换,在一个轴上移动 UI 元素,同时运行另一个在垂直轴上以线性运动(未应用缓动函数)移动元素的主题转换。

于 2012-10-29T22:13:00.970 回答