我要在WPF中暂停一个Storyboard,所以我使用了以下代码:

Storyboard TheStoryboard;

//Constructor
public window
{
    TheStoryboard = (Storyboard)this.FindResource("TheStoryboardName");
}

private void MenuItemPause_Click(object sender, RoutedEventArgs e)
{
    TheStoryboard.Pause();
}


但是什么也没发生!
正确的做法是什么?

最佳答案

我发现了问题。
我已经添加了一个启动故事板的触发器,如下所示:

<Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
        <BeginStoryboard Storyboard="{StaticResource TheStoryboardName}"/>
    </EventTrigger>
</Window.Triggers>


我已经省略了它,并添加了一个C#代码来开始故事板:

Storyboard TheStoryboard;

//Constructor
public window
{
    TheStoryboard = (Storyboard)this.FindResource("TheStoryboardName");
    TheStoryboardName.Begin();
}


现在,以下代码运行良好。

private void MenuItemPause_Click(object sender, RoutedEventArgs e)
{
    TheStoryboard.Pause();
}

10-06 10:29