我有一个带有隐形标签的标签控件。
当你将鼠标悬停在我的表单的某个区域上时,它会调用我的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>
现在我要做的是当鼠标悬停在标签项上时暂停动画,并在鼠标离开标签项时恢复动画。
我通过controltemplate将EventSetter
应用于我的标签项,以便调用:
((Storyboard)FindResource("animate")).Pause(HiddenTab);
但它说它在我的TabItem ControlTemplate中找不到animate
,这是有道理的,因为animate
被定义为窗口资源。
如何才能访问故事板,以便暂停/恢复?
答案 0 :(得分:0)
尝试使用此代码访问wpf
中的资源Object res1 = this.Resources["animate"];
键入将其投射到故事板并查看它是否有帮助。