我不确定是否使用多个故事板,也不确定布局是最好的,但是无论如何要修复您的代码,您需要取消(停止或删除)其他故事板。
to Storyboards的名称并使用
FillBehavior=Stop
RemoveStoryBoard
也请注意,该默认值
<Trigger.EnterActions>
<BeginStoryboard x:Name="checked" >
<Storyboard>
<DoubleAnimation Storyboard.TargetName="EllipseTranslateTransform" Storyboard.TargetProperty="X" To="25" Duration="0:0:0.2" />
</Storyboard>
</BeginStoryboard>
<StopStoryboard BeginStoryboardName="unchecked" />
</Trigger.EnterActions>
<Trigger.EnterActions>
<BeginStoryboard x:Name="unchecked">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="EllipseTranslateTransform" Storyboard.TargetProperty="X" From="25" Duration="0:0:0.2" />
</Storyboard>
</BeginStoryboard>
<StopStoryboard BeginStoryboardName="checked" />
</Trigger.EnterActions>
,因此您无需指定从/到TranslateTransform.X=0
时(就像您在第一个动画中所做的那样),而仅指定非默认值。