當前位置: 首頁>>代碼示例>>C#>>正文


C# Storyboard.GetCurrentTime方法代碼示例

本文整理匯總了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();
		}
開發者ID:,項目名稱:,代碼行數:30,代碼來源:

示例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 ();
		}
開發者ID:snorp,項目名稱:moon,代碼行數:39,代碼來源:StoryboardTest.cs


注:本文中的System.Windows.Media.Animation.Storyboard.GetCurrentTime方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。