WPF XAML动画绑定布尔值变为false时如何停止?
我希望当布尔CanAnimate变为false时动画停止。它从true开始,那么当CanAnimate为false时,我如何告诉它停止呢?(CanAnimate布尔设置在SelectedItem设置器内)WPF XAML动画绑定布尔值变为false时如何停止?,wpf,xaml,animation,Wpf,Xaml,Animation,我希望当布尔CanAnimate变为false时动画停止。它从true开始,那么当CanAnimate为false时,我如何告诉它停止呢?(CanAnimate布尔设置在SelectedItem设置器内) 您可以尝试使用DataTrigger上的ExitActions停止动画,方法是使用另一个动画覆盖。例如: <DataTrigger Binding="{Binding CanAnimate}" Value="True"> <DataTrigger.EnterAction
您可以尝试使用DataTrigger上的ExitActions停止动画,方法是使用另一个动画覆盖。例如:
<DataTrigger Binding="{Binding CanAnimate}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="(Border.Opacity)"
From="1.0" To="0.0" AutoReverse="True"
RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="(Border.Opacity)"
From="0.0" To="0.0" Duration="0:0:0.0" FillBehavior="HoldEnd" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
或者,有一种方法可以按名称停止XAML中的故事板,同样可以使用ExitActions。路标
希望这有帮助 +1我给每个故事板起了一个名字,然后我可以做StopStoryboard并提供名字。谢谢
<DataTrigger Binding="{Binding CanAnimate}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="(Border.Opacity)"
From="1.0" To="0.0" AutoReverse="True"
RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="(Border.Opacity)"
From="0.0" To="0.0" Duration="0:0:0.0" FillBehavior="HoldEnd" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>