【问题标题】:Pausing a Storyboard in WPF?在 WPF 中暂停情节提要?
【发布时间】:2011-01-16 11:23:20
【问题描述】:

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

Storyboard TheStoryboard;

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

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

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

【问题讨论】:

  • 事件真的触发了吗?您是否在 XAML 中正确连接了“MenuItemPause_Click”?你有没有把它关掉再打开? ;)
  • 我很确定事件会触发。是的,我做到了。 turn it off and on again是什么意思

标签: c# .net wpf storyboard


【解决方案1】:

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

<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();
}

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。

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

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

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

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

    所以我移动了它,现在情节提要按我的预期工作。

    感谢您的分享。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-06
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 2010-11-30
      相关资源
      最近更新 更多