在 C# 代码(WPF 项目)中,我可以在情节提要中的特定点引发事件吗?



我有一个故事板,它永远运行自动反转,比如说 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
    }
}

退房:

MSDN - 当前时间无效

MSDN - 当前状态失效

最新更新