Example #1
0
		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();
		}