开发者

How to check the status of a storyboard?

开发者 https://www.devze.com 2023-02-24 06:35 出处:网络
How would I 开发者_JAVA技巧check the status of a storyboard? Example: if (storyboard.Completed += true) // ???

How would I 开发者_JAVA技巧check the status of a storyboard?

Example:

if (storyboard.Completed += true) // ???
{
}

(This code does not work, for obvious reasons.)


Just hook the Completed event and when your code runs in there, the storyboard will have been completed. See: http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.completed(VS.95).aspx#Y565


how about creating a boolean variable (e.g. IsCompleted) and set it to true in the Completed callback?


This doesn't work.

            Storyboard storyBoardPulse = this.FindResource("StoryboardMainIconPulse") as Storyboard;
            Storyboard.SetTarget(storyBoardPulse, this.imageIcon);

            if (storyBoardPulse.GetCurrentState() != ClockState.Active)
            {
                storyBoardPulse.Begin();
            }

gets back this error:

System.InvalidOperationException was unhandled by user code

HResult=-2146233079

Message=Impossible to execute the action. the Storyboard specify not applied to this object for interactive control.

Ao I make a very bloody workaround:

private Boolean pulseOn;

private void operationsOfMaintenance_OperationExpired(Boolean state)
        {
            Storyboard storyBoardPulse = this.FindResource("StoryboardMainIconPulse") as Storyboard;
            Storyboard.SetTarget(storyBoardPulse, this.imageIcon);

            if (!state)
            {
                storyBoardPulse.Stop();
                storyBoardPulse.Remove();
                pulseOn = false;
            }
            else
            {
                if(!pulseOn)storyBoardPulse.Begin();
                pulseOn = true;
            }
        }

There's anyboody know why the first example gets an error!

thanks


if(storyboard.GetCurrentState() == ClockState.Active)
{
    // do something
}
0

精彩评论

暂无评论...
验证码 换一张
取 消