如何停止Storyboard
本文关键字:Storyboard 何停止 | 更新日期: 2023-09-27 18:15:53
我试图停止storyboard与mystoryboard.stop();
但不幸的是,它不工作,也没有给出任何错误
Storyboard hours;
Storyboard minutes;
Storyboard seconds;
private void setStoryBoards(){
hours = (Storyboard)this.FindResource("OnMouseWheel1");
minutes = (Storyboard)this.FindResource("MinutesHighlighting");
seconds = (Storyboard)this.FindResource("SecondsHighlighting");
}
private void HourStoryBoard()
{
minutes.Stop(this);
seconds.Stop(this);
this.BeginStoryboard(hours);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
setStoryBoards();
HourStoryBoard();
}
我想在播放另一个动画之前停止其他两个动画
注意:故事板动画是使用Ms Blend创建的,存在于<windows.resources>
动画正在播放,但没有停止
每个动画在storyboard上设置为播放5次
您可能无法停止一个故事板,但是您可以改变包含它的VisualState并开始一个新的故事板。尝试创建一个自定义VisualState。这也许能奏效。
[XAML]
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CustomStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="State1">
<Storyboard>{STORYBOARD 1 HERE}</Storyboard>
</VisualState>
<VisualState x:Name="State2">
<Storyboard>{STORYBOARD 2 HERE}</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
(c#) private void UpdateStates(bool useTransitions)
{
if (IsState1)
{
VisualStateManager.GoToState(this, "State1", useTransitions);
}
else if (IsState2)
{
VisualStateManager.GoToState(this, "State2", useTransitions);
}
}