本文整理匯總了C#中System.Windows.Media.Animation.Storyboard.GetCurrentTime方法的典型用法代碼示例。如果您正苦於以下問題:C# Storyboard.GetCurrentTime方法的具體用法?C# Storyboard.GetCurrentTime怎麽用?C# Storyboard.GetCurrentTime使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Windows.Media.Animation.Storyboard
的用法示例。
在下文中一共展示了Storyboard.GetCurrentTime方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Transition
private void Transition(Storyboard aStoryboard, Storyboard bStoryboard)
{
if (m_AnimationElement == null || bStoryboard == null)
return;
bStoryboard.Stop();
// Give the target a unique name so we can find it later
string name = Guid.NewGuid().ToString();
bStoryboard.SetTargetName(name);
m_AnimationElement.Tag = name;
bStoryboard.SetTarget(m_AnimationElement);
foreach (Timeline animation in bStoryboard.Children)
animation.SetTarget(m_AnimationElement);
//m_AnimationElement.Visibility = Visibility.Visible;
m_AnimationElement.UpdateLayout();
if (aStoryboard != null)
{
aStoryboard.Pause();
Duration duration = bStoryboard.Duration;
TimeSpan timeSpan = aStoryboard.GetCurrentTime();
bStoryboard.Begin();
if (timeSpan.TotalMilliseconds != 0 && duration.HasTimeSpan)
bStoryboard.Seek(duration.TimeSpan - timeSpan);
}
else
bStoryboard.Begin();
}
示例2: Pause
public void Pause ()
{
Canvas c = new Canvas ();
Rectangle r = new Rectangle ();
c.Children.Add (r);
Storyboard sb = new Storyboard { Duration = new Duration (TimeSpan.FromSeconds (10000)) };
DoubleAnimation anim = new DoubleAnimation { From = 10, To = 50 };
sb.Children.Add (anim);
Storyboard.SetTarget (anim, r);
Storyboard.SetTargetProperty (anim, new PropertyPath ("Width"));
Enqueue (() => sb.Begin ());
double width = 0;
TimeSpan time = new TimeSpan(0);
Enqueue (() => {
Assert.IsLess (10000, sb.GetCurrentTime().TotalMilliseconds, "0");
sb.Pause ();
time = sb.GetCurrentTime ();
width = r.Width;
});
Enqueue (() => {
Assert.AreEqual (time, sb.GetCurrentTime(), "1");
Assert.AreEqual (width, r.Width, "2");
sb.Resume ();
});
Enqueue (() => {
Assert.IsGreater (time.TotalMilliseconds, sb.GetCurrentTime().TotalMilliseconds, "3");
Assert.IsGreater (width, r.Width, "4");
});
Enqueue (() => { TestPanel.Children.Clear (); TestPanel.Resources.Clear (); });
EnqueueTestComplete ();
}