C# 如果单击过快,WPF情节提要动画将冻结
我目前对下面的简单XAML代码有一个恼人的问题。动画确实正确发射,并且如果我在动画完成后单击按钮,动画将始终正确发射。如果我快速单击几次,动画将冻结,动画将不再运行 非常感谢你的帮助C# 如果单击过快,WPF情节提要动画将冻结,c#,wpf,xaml,animation,C#,Wpf,Xaml,Animation,我目前对下面的简单XAML代码有一个恼人的问题。动画确实正确发射,并且如果我在动画完成后单击按钮,动画将始终正确发射。如果我快速单击几次,动画将冻结,动画将不再运行 非常感谢你的帮助 <!-- Admin Login Button /--> <ToggleButton Name="LoginButton" IsChecked="{Binding ElementName=LoginPopup, Path=IsOpen, Mode=TwoWay}" HorizontalAl
<!-- Admin Login Button /-->
<ToggleButton Name="LoginButton" IsChecked="{Binding ElementName=LoginPopup, Path=IsOpen, Mode=TwoWay}" HorizontalAlignment="Right" Margin="0,35,32.334,0" VerticalAlignment="Top" Width="97" Height="77" BorderThickness="0" Grid.Column="1" Grid.ColumnSpan="2">
<ToggleButton.Background>
<ImageBrush ImageSource="/Resources/Images;component/Resources/titleAboutIcon.png"/>
</ToggleButton.Background>
<!-- <Frame x:Name="AdminFrame" Height="77" Width="97"/> /-->
<ToggleButton.RenderTransform>
<ScaleTransform x:Name="Buttonscale" ScaleX="1" ScaleY="1" CenterX="0" CenterY="{Binding ElementName=LoginButton, Path=ActualHeight}" />
</ToggleButton.RenderTransform>
<ToggleButton.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="Buttonscale" Storyboard.TargetProperty="(ScaleTransform.ScaleX)" To="1.25" Duration="0:0:0.25" AutoReverse="True"/>
<DoubleAnimation Storyboard.TargetName="Buttonscale" Storyboard.TargetProperty="(ScaleTransform.ScaleY)" To="1.25" Duration="0:0:0.25" AutoReverse="True"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ToggleButton.Triggers>
</ToggleButton>
<!-- Admin Login Button /-->
您可以将FillBehavior=“Stop”添加到情节提要中,这样它将停止并重置动画属性值,而不是冻结它们(HoldEnd是FillBehavior的默认值,因此不会将值更改回默认值)
从MSDN:
如果希望动画在达到其活动周期结束后保持其值,请将动画FillBehavior属性设置为HoldEnd。如果动画的FillBehavior设置为HoldEnd,则该动画已达到其活动周期的末尾,称其处于填充周期。如果不希望动画在其活动周期结束后保持其值,请设置其
要停止的FillBehavior属性
非常感谢!它仍然会冻结一段时间,但至少会恢复到原始状态。