故事板运行后WPF更改Propery

时间:2017-10-18 14:51:52

标签: wpf storyboard

我有以下故事板,它是这样触发的;

Storyboard s = (Storyboard) myrect.FindResource("sb");
s.Begin();

-

<Storyboard BeginTime="0" Duration="Forever" x:Key="sb" >
    <DoubleAnimation Storyboard.TargetName="myrect" 
                        Storyboard.TargetProperty="Height" From="0" To="{Binding ElementName=myrect, Path=ActualHeight}"
                        Duration="0:0:0.2" BeginTime="0:0:0"/>
</Storyboard>

但是我怎么能撤消这个(按下按钮)以便我可以设置myrect.Height = 0;?我知道,由于动画仍在运行,因此无法正常工作。我尝试了FillBehavior="Stop",但这会导致高度在动画结束时恢复为0。

我可以再次使用FindResource并停止故事板,但我想知道是否有办法告诉故事板完成但是将高度保留为新值?

注意:故事板可能会在此之后再次重新运行,因此我不相信完全删除故事板是一种选择。

1 个答案:

答案 0 :(得分:0)

myrect.BeginAnimation(HeightProperty, null);
myrect.Width = 0;