昨天我没有得到答案,但也许我对这个问题的理解不够深入,无法形成正确的问题。故事板动画中的错误?
故事是关于动画列表框高度的动画。下面是随后的屏幕截图:
一) “中” 是一个TextBlock
b)中 “中等” 的TextBlock得到由列表框代替。用户选择一个项目。这启动了ListBox.Height的动画。动画完成后,ListBox将被原始TextBlock替换。 (忽略数据的差异。图像的采集是不好受的过程,那时我有渲染的帧的工作。其中一个图像被枪杀了不同的记录。)
该序列偶尔闪烁。我想知道这是怎么回事,一段时间后,我得到这个截图:
你看到的是后Storyboard.Completed事件被截获的第一帧。据我所知,这是故事板的最终结果。
注:
我查了可视化树在这一瞬间,并没有发现什么suspiceous。
这只是发生的效果之一。另一种常见的情况是带有蓝色阴影的调整大小的1行ListBox;在这种情况下,列表框上的所有元素都消失了。第三种可能性是整个屏幕上的对角红线。
这里是代码定义的故事板:
private Storyboard GetDropDownAnimation(double from, double to)
{
double secs = this.IsExpanded ? 0.2 : 0.4;
CubicEase ease = new CubicEase() { EasingMode = EasingMode.EaseInOut };
DoubleAnimation animation = new DoubleAnimation()
{
Duration = new Duration(TimeSpan.FromSeconds(secs)),
From = from,
To = to,
FillBehavior = FillBehavior.HoldEnd,
EasingFunction = ease
};
Debug.WriteLine("Animation Height {0} -> {1}", from, to);
Storyboard.SetTarget(animation, this);
Storyboard.SetTargetProperty(animation, new PropertyPath("Height"));
Storyboard sb = new Storyboard();
sb.Children.Add(animation);
return sb;
}
我可以解释其他的技巧进行(很长一段时间我认为这个问题是存在的),但它看起来像问题的担忧只有动画本身。
任何人都可以解释发生了什么事?
我想你是指这些? http://silverlight.codeplex.com/ –
@克劳斯约根森,是的,谢谢!我的年龄很老。我更新了链接。 –
我查了一下我脑子里想到的一切。从/到动画值被打印到调试输出,我倾销视觉树等一切正常。顺便说一句,错误的“来自”的价值无法解释观察到的效果。 –