我正在尝试使用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();
}
我想在播放另一个动画之前停止其他2个动画
注意:故事板动画是使用Ms Blend创建的,并存在于<windows.resources>
上
动画播放正常,但没有停止
每个动画都在故事板上设置为播放5次
答案 0 :(得分:1)
您可能无法停止故事板,但您可以更改包含它的VisualState并启动新的故事板。尝试创建Custom 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);
}
}