2

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

Storyboard TheStoryboard;

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

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

但是什么也没有发生!
这样做的正确方法是什么?

4

2 回答 2

3

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

<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();
}
于 2010-02-13T14:19:03.103 回答
1

我遇到了同样的问题。

但是 .NET Framework 3.5 和 4 中的行为似乎有所不同。

我有一个通过 .NET Framework 3.5 构建的项目,然后更改为 .NET Framework 4。

在 3.5 中,我还有你提到的开始故事板的触发器。但我仍然可以在我的代码中暂停它。

在 4 中,我无法使用触发器暂停情节提要。

所以我移动了它,现在故事板按我的预期工作。

感谢您的分享。

于 2011-02-11T07:27:00.657 回答