我有一个故事板,它可以自动反向运行,让我们说 10 秒。
无论如何,我可以让故事板本身沿着故事板时间线每 2 秒引发一个事件。
故事板仅存在于 c# 代码(不是 xaml)中。
我希望这足以继续,但是,如果需要更多信息,请询问,我会解释我在做什么。
提前致谢
担。
我有一个故事板,它可以自动反向运行,让我们说 10 秒。
无论如何,我可以让故事板本身沿着故事板时间线每 2 秒引发一个事件。
故事板仅存在于 c# 代码(不是 xaml)中。
我希望这足以继续,但是,如果需要更多信息,请询问,我会解释我在做什么。
提前致谢
担。
故事板时间线提供了一些事件,这可能会有所帮助……例如:
private Storyboard stb = new Storyboard();
private TimeSpan tsp = new TimeSpan();
public MainWindow()
{
InitializeComponent();
stb.CurrentTimeInvalidated += new EventHandler(doSomething);
}
private void doSomething(Object sender, EventArgs e)
{
Clock storyboardClock = (Clock)sender;
// or whatever other logic you want
if (storyboardClock.CurrentTime.Value.Seconds % 2 == 0 &&
Math.Abs((storyboardClock.CurrentTime.Value - tsp).TotalSeconds) >= 2)
{
// or something like this...
tsp = storyboardClock.CurrentTime.Value
- new TimeSpan(0,0,0,0,storyboardClock.CurrentTime.Value.Milliseconds);
// do something
}
}
查看 :