我有一个似乎是由自身随机停止故事板,我不能为我的生命找出原因。WPF故事板停止本身
它似乎停止和随机间隔。
private void CreateStoryboard(int from)
{
int? targetTo;
Duration dur;
targetTo = 150;
dur = 150;
Int32Animation element = new Int32Animation();
element.From = from;
element.To = targetTo;
element.Duration = dur;
Storyboard.SetTargetProperty(element, new PropertyPath(CurrentFrameProperty));
_filmstripStoryboard = new Storyboard {SpeedRatio = this.FrameRate};
_filmstripStoryboard.Children.Add(element);
_filmstripStoryboard.Completed += new EventHandler(FilmstripStoryboard_Completed);
_filmstripStoryboard.Begin(this, true);
}
正如你所看到的IM影响自定义“CurrentFrameProperty” DP,它具有打印出当前帧的回调方法。
出于某种原因,我刚才不知道为什么,故事板刚刚停止。完成的事件不会被触发,并且回调方法停止被调用。
而且我相信,我不是要求停止()的任何地方。
如果任何人有过这个问题,也可以帮我调试的话,我将非常感激。
你能想到一种调试方法吗? – Mark 2009-11-30 01:04:52
对于初学者来说,隔离这段代码是很重要的,因为如果没有其他因素会影响你的DP,你可以100%确定它是有效的。如果是这样,一次只添加一个特性的整个项目的行为,直到你可以重现问题。听起来很标准,呃? ;-) 祝你好运! – Dabblernl 2009-11-30 01:17:39
有没有办法检查故事板(或动画)是否被丢弃?我知道IDispose接口,但是如果对象简单地设置为null,它会被调用吗? – Mark 2009-11-30 01:48:04