1

我有一个带有不可见选项卡的选项卡控件。

当您将鼠标悬停在表单的某个区域上时,它会调用我的 c# 处理程序,该处理程序运行:

((Storyboard)FindResource("animate")).Begin(HiddenTab);

动画故事板:

    <Storyboard x:Key="animate">
        <ObjectAnimationUsingKeyFrames BeginTime="0:0:0" Storyboard.TargetProperty="Visibility">
            <DiscreteObjectKeyFrame KeyTime="0">
                <DiscreteObjectKeyFrame.Value>
                    <Visibility>Visible</Visibility>
                </DiscreteObjectKeyFrame.Value>
            </DiscreteObjectKeyFrame>
        </ObjectAnimationUsingKeyFrames>
        <DoubleAnimation BeginTime="0:0:0.0" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.2"/>
        <DoubleAnimation BeginTime="0:0:2.5" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:0.5"/>
        <ObjectAnimationUsingKeyFrames BeginTime="0:0:5.5" Storyboard.TargetProperty="Visibility">
            <DiscreteObjectKeyFrame KeyTime="0">
                <DiscreteObjectKeyFrame.Value>
                    <Visibility>Hidden</Visibility>
                </DiscreteObjectKeyFrame.Value>
            </DiscreteObjectKeyFrame>
        </ObjectAnimationUsingKeyFrames>
    </Storyboard>

现在我要做的是在鼠标悬停在选项卡项上时暂停动画,并在鼠标离开选项卡项时恢复动画。

EventSetter通过 controltemplate 将 s 应用于我的选项卡项以调用:

((Storyboard)FindResource("animate")).Pause(HiddenTab);

但它说它在我的 TabItem ControlTemplate 中找不到animate,这是有道理的,因为animate它被定义为窗口资源。

如何访问情节提要以便我可以暂停/恢复?

4

1 回答 1

0

尝试使用此代码访问 wpf 中的资源

Object res1 = this.Resources["animate"];

将其投射到故事板上,看看是否有帮助。

于 2013-09-24T17:51:46.233 回答