gpt4 book ai didi

WPF XAML 动画当绑定(bind) bool 值变为假时如何停止它?

转载 作者:行者123 更新时间:2023-12-04 16:01:00 24 4
gpt4 key购买 nike

我希望动画在 bool CanAnimate 变为假时停止。它从 true 开始,那么当 CanAnimate 为 false 时我如何告诉它停止? (CanAnimate bool 值设置在 SelectedItem setter 中)

<Border BorderBrush="Black" BorderThickness="2" Margin="1" Name="ReviewNote">
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<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>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock/>
</Border>

最佳答案

您可以尝试使用 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 中的 Storyboard ,您也可以为此使用 ExitActions。 This previous question显示方式。

希望这对您有所帮助!

关于WPF XAML 动画当绑定(bind) bool 值变为假时如何停止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19791031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com