如何检查故事板的状态
本文关键字:故事 状态 检查 何检查 | 更新日期: 2023-09-27 17:50:13
如何检查故事板的状态?
的例子 :
if (storyboard.Completed += true) // ???
{
}
(这段代码不能工作,原因很明显)
只需挂钩Completed
事件,当您的代码在那里运行时,故事板将完成。参见:http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.completed (VS.95) . aspx # Y565
如何创建一个布尔变量(例如IsCompleted)并在Completed回调中将其设置为true ?
这行不通。
Storyboard storyBoardPulse = this.FindResource("StoryboardMainIconPulse") as Storyboard;
Storyboard.SetTarget(storyBoardPulse, this.imageIcon);
if (storyBoardPulse.GetCurrentState() != ClockState.Active)
{
storyBoardPulse.Begin();
}
返回错误
系统。用户代码未处理InvalidOperationException
HResult = -2146233079
消息=无法执行该操作。故事板指定不是应用于此对象以进行交互控制。
我做了一个非常血腥的变通:
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;
}
}
有谁知道为什么第一个例子得到一个错误!
谢谢
if(storyboard.GetCurrentState() == ClockState.Active)
{
// do something
}