代码之家  ›  专栏  ›  技术社区  ›  Chris Nicol

布尔动画锁定属性

  •  6
  • Chris Nicol  · 技术社区  · 17 年前

    如果我有一个设置属性的BooleanAnimation,该属性将被锁定,无法通过任何其他方式更改。

    <EventTrigger
        SourceName="myButton"
        RoutedEvent="Button.Click">
        <EventTrigger.Actions>
            <BeginStoryboard>
                <Storyboard>
                    <BooleanAnimationUsingKeyFrames
                        Storyboard.TargetName="myCheckBox"
                        Storyboard.TargetProperty="IsChecked"
                        FillBehavior="HoldEnd">
                        <DiscreteBooleanKeyFrame
                            KeyTime="00:00:00"
                            Value="False" />
                    </BooleanAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Actions>
    </EventTrigger>
    

    我可以创建另一个动画来更新复选框,但这不是我需要的行为。

    我也尝试过FillBehavior=“Stop”,但这只会导致动画也无法工作。

    2 回复  |  直到 17 年前
        1
  •  7
  •   Contango    10 年前

    复选框仍在设置中,但动画仍在运行,这就是为什么它似乎取消选中它的原因。有几种方法可以解决这个问题,使动画不再控制复选框上的属性。这 MSDN Animation 概述讲述了动画结束时会发生什么。和 how to set a Property after animating it with a Storyboard 介绍了其他一些选择。

        2
  •  2
  •   Indy9000    14 年前

    替换

    FillBehavior=“HoldEnd”

    随着

    持续时间=“00:00:01”填充行为=“停止”

    它将工作:-)