控件在动画化后停止工作

本文关键字:停止工作 动画 控件 | 更新日期: 2023-09-27 18:34:20

我有一个名为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();

为什么在我制作动画后它停止工作?

控件在动画化后停止工作

尝试向动画添加FillBehavior.Stop。默认值为 FillBehavior.HoldEnd

从上面的链接:

由于动画在其填充周期中继续覆盖其目标属性的值,因此尝试通过其他方式设置目标属性的值可能看起来不起作用。有关演示如何在对属性值进行动画处理后设置属性值的示例,请参见如何:在使用情节提要对其进行动画处理后设置属性。