我有一个名为tbMaster
的滑块:
<Slider Name="tbMaster" Maximum="10000" Value="{Binding SbVolumeValue}"/>
绑定属性的代码:
double _SbVolumeValue;
public double SbVolumeValue
{
get
{
return _SbVolumeValue;
}
set
{
_SbVolumeValue = value;
OnPropertyChanged("SbVolumeValue");
}
}
我有故事板sbVolume
<Storyboard x:Key="sbVolume">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(RangeBase.Value)" Storyboard.TargetName="tbMaster">
<EasingDoubleKeyFrame KeyTime="0:0:1.2" Value="40">
<EasingDoubleKeyFrame.EasingFunction>
<CircleEase EasingMode="EaseOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
如果我运行应用程序,滑块效果很好。当我开始故事板时它停止工作:
var sbVolume = this.FindResource("sbVolume") as Storyboard;
sbVolume.Begin();
为什么它在我制作动画后停止工作?
答案 0 :(得分:1)
尝试在动画中添加FillBehavior.Stop
。默认值为FillBehavior.HoldEnd
。
从上方链接:
由于填充期间的动画继续覆盖其目标属性的值,因此尝试通过其他方式设置目标属性的值可能看起来没有效果。有关如何在设置动画后设置属性值的示例,请参阅How to: Set a Property After Animating It with a Storyboard.