.net 将情节提要动画向后搜索到特定点,然后播放
我有一个简单的故事板动画,如下所示:.net 将情节提要动画向后搜索到特定点,然后播放,.net,wpf,animation,storyboard,.net,Wpf,Animation,Storyboard,我有一个简单的故事板动画,如下所示: <Window.Resources> <Storyboard x:Key="fader"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)"> <SplineDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
<Window.Resources>
<Storyboard x:Key="fader">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
<SplineDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
<SplineDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
<SplineDoubleKeyFrame KeyTime="0:0:4" Value="1"/>
<SplineDoubleKeyFrame KeyTime="0:0:6" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Window.Resources>
但是,我试图处理在通知窗口已经显示时发生第二个事件的情况。在这种情况下,我要寻找的行为是修改窗口的内容以反映第二个事件(简单),并在故事板的整个生命周期内(即在它出现之后)将其“倒回”到0.5秒
换句话说,第二个事件应在第二个事件发生后3.5s发生淡出,即使窗口已经存在0到6秒之间的时间
我尝试通过检测窗口的不透明度来实现这一点,如果它>0,则调用以下命令:
board.Seek(this,TimeSpan.FromSeconds(0.5),TimeSeekOrigin.BeginTime);
但是,这似乎没有任何作用,即使我反复触发事件,窗口内容也会改变,但通知程序会尽职尽责地淡入,等待3.5秒,然后再次淡出
为什么这不起作用?这是实现我想要实现的目标的最佳方式吗?我认为这里的问题是,您将淡入淡出作为一个动画。我可能会这样做:
board.Seek(this,TimeSpan.FromSeconds(0.5),TimeSeekOrigin.BeginTime);
displayPeriod
常量值(或您想要的任何值。用户可配置设置?)显示周期
秒数如果您想在实现此功能的同时使用一些酷炫的技术,请查看以处理通知流和计时器事件 同意-如果我不想改变的话,拥有一个动画的最初想法可能是好的。然而,新的需求意味着将其全部抛弃,并以不同的方式进行。我要去狂欢一下。太棒了!很高兴有用:-)