本文介绍了WPF停止可见性的情节提要板已更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带故事板的UserControl,我想在控件的可见性更改时停止动画。
I have a UserControl with a story board and I want to stop the animation when the control's Visibility changes.
我创建了一个触发器来暂停动画并开始播放
I created a Trigger to pause the animation and start it depending on the state, but I keep getting an ArgumentException.
这里是XAML:
<UserControl.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard x:Name="ProgressAnimation_BeginStoryboard" Storyboard="{StaticResource ProgressAnimation}"/>
</EventTrigger>
<Trigger Property="Control.Visibility" Value="Collapsed">
<PauseStoryboard BeginStoryboardName="ProgressAnimation_BeginStoryboard" />
</Trigger>
<Trigger Property="Control.Visibility" Value="Visible">
<ResumeStoryboard BeginStoryboardName="ProgressAnimation_BeginStoryboard" />
</Trigger>
</UserControl.Triggers>
这是例外:
如何在XAML中执行此操作?
How would I do this in XAML ?
谢谢,
Raul
Thanks,Raul
推荐答案
您可以使用控制模板来实现:
You may do it using a control template:
<ControlTemplate>
... Control stuff here
<ControlTemplate.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource AnimationStoryboard}" x:Name="AnimationBeginStoryboard"/>
</Trigger.EnterActions>
<Trigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="AnimationBeginStoryboard"/>
</Trigger.ExitActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
这篇关于WPF停止可见性的情节提要板已更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!