停止在项目启动时启动StoryBoard

时间:2012-06-18 11:58:59

标签: c# visual-studio-2010 animation storyboard blend

我在Visual Studio中创建了一个项目,我在Blend中打开它,所以我可以做一些动画。

我使用StoryBoard创建了两个动画,并将每个动画关联到另一个按钮(在Clic动作中)。

我的问题是,当我启动应用程序时,两个动画正在启动,而我想要做的是在按钮被触发之前停止它们。

我怎样才能做到这一点?

EDIT

这是我的源代码。

<s:SurfaceWindow.Resources>
<Storyboard x:Key="StoryboardStart" x:Name="SBStrt">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="image">
        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="StoryboardStop" x:Name="STStp">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="image">
        <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="0"/>
        <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>

                           

在.cs构造函数中我有这个

public SurfaceWindow1()
{
    InitializeComponent();

    // Add handlers for window availability events
    AddWindowAvailabilityHandlers();

}

3 个答案:

答案 0 :(得分:2)

也许动画在initializecomponent方法中开始。尝试编辑表单的设计器文件。搜索定义StoryBoard的行并尝试查找启动动画的行。

如果要禁用它,请将其转换为注释,以便稍后将其打开。 为了更好地回答你的问题,我需要一些代码。

答案 1 :(得分:1)

我想我知道你想要什么......

您可以使用表达式混合行为中的控制故事板动作资源

您只需将控制故事板操作拖到按钮上,对于此控制板操作,您必须选择一个事件名称作为鼠标左键。

答案 2 :(得分:0)

我知道你的问题所在。它位于窗口XAML文件中。 进入混合并选择你的故事板。选择启动时发生的动画,并检查底部窗格中显示的XAML文件。 在此XAML文件中查找Window.Triggers并删除开始故事板。

![Clear out all contents you dont want to start with your application. Mine has none for instance. ] 1