如果我有一个设置属性的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>
在此示例中,如果单击该按钮,则复选框设置为false,但是,如果用户再次尝试检查复选框,则复选框将无响应。无法通过代码设置IsChecked属性(单击按钮后)。
我可以创建另一个动画来更新CheckBox,但这不是我需要的行为。
我也尝试过FillBehavior =“Stop”,但这只会导致动画无法正常工作。
答案 0 :(得分:6)
CheckBox仍在设置中,但动画仍在运行,这就是为什么它似乎取消选中它。可以通过以下几种方法修复此问题,以便动画不再控制复选框上的属性。 MSDN Animation概述讨论动画结束时会发生什么。并且how to set a Property after animating it with a Storyboard会介绍其他一些选项。
答案 1 :(得分:1)
替换
FillBehavior = “HoldEnd”
带
持续时间=“00:00:01”FillBehavior =“停止”
它会起作用: - )