本文整理汇总了C#中System.Windows.Media.Animation.Storyboard.Resume方法的典型用法代码示例。如果您正苦于以下问题:C# Storyboard.Resume方法的具体用法?C# Storyboard.Resume怎么用?C# Storyboard.Resume使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.Animation.Storyboard
的用法示例。
在下文中一共展示了Storyboard.Resume方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Invoke
/// <summary>
/// Called when it's time to execute this storyboard action
/// </summary>
internal override void Invoke( FrameworkElement containingFE, FrameworkContentElement containingFCE, Storyboard storyboard )
{
Debug.Assert( containingFE != null || containingFCE != null,
"Caller of internal function failed to verify that we have a FE or FCE - we have neither." );
if( containingFE != null )
{
storyboard.Resume(containingFE);
}
else
{
storyboard.Resume(containingFCE);
}
}
示例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 ();
}
示例3: AnimateChildrenIn
private void AnimateChildrenIn(bool reverse)
{
if (_popupContentControl == null) return;
if (VisualTreeHelper.GetChildrenCount(_popupContentControl) != 1) return;
var contentPresenter = VisualTreeHelper.GetChild(_popupContentControl, 0) as ContentPresenter;
var controls = contentPresenter.VisualDepthFirstTraversal().OfType<ButtonBase>();
double translateCoordinateFrom;
if ((PlacementMode == PopupBoxPlacementMode.TopAndAlignCentres
|| PlacementMode == PopupBoxPlacementMode.TopAndAlignLeftEdges
|| PlacementMode == PopupBoxPlacementMode.TopAndAlignRightEdges
|| PlacementMode == PopupBoxPlacementMode.LeftAndAlignBottomEdges
|| PlacementMode == PopupBoxPlacementMode.RightAndAlignBottomEdges
|| (UnfurlOrientation == Orientation.Horizontal &&
(
PlacementMode == PopupBoxPlacementMode.LeftAndAlignBottomEdges
|| PlacementMode == PopupBoxPlacementMode.LeftAndAlignMiddles
|| PlacementMode == PopupBoxPlacementMode.LeftAndAlignTopEdges
))
))
{
controls = controls.Reverse();
translateCoordinateFrom = 80;
}
else
translateCoordinateFrom = -80;
var translateCoordinatePath =
"(UIElement.RenderTransform).(TransformGroup.Children)[1].(TranslateTransform."
+ (UnfurlOrientation == Orientation.Horizontal ? "X)" : "Y)");
var sineEase = new SineEase();
var i = 0;
foreach (var uiElement in controls)
{
var deferredStart = i++*20;
var deferredEnd = deferredStart+200.0;
var absoluteZeroKeyTime = KeyTime.FromPercent(0.0);
var deferredStartKeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(deferredStart));
var deferredEndKeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(deferredEnd));
var elementTranslateCoordinateFrom = translateCoordinateFrom * i;
var translateTransform = new TranslateTransform(
UnfurlOrientation == Orientation.Vertical ? 0 : elementTranslateCoordinateFrom,
UnfurlOrientation == Orientation.Vertical ? elementTranslateCoordinateFrom : 0);
var transformGroup = new TransformGroup
{
Children = new TransformCollection(new Transform[]
{
new ScaleTransform(0, 0),
translateTransform
})
};
uiElement.SetCurrentValue(RenderTransformOriginProperty, new Point(.5, .5));
uiElement.RenderTransform = transformGroup;
var opacityAnimation = new DoubleAnimationUsingKeyFrames();
opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(0, absoluteZeroKeyTime, sineEase));
opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(0, deferredStartKeyTime, sineEase));
opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(1, deferredEndKeyTime, sineEase));
Storyboard.SetTargetProperty(opacityAnimation, new PropertyPath("Opacity"));
Storyboard.SetTarget(opacityAnimation, uiElement);
var scaleXAnimation = new DoubleAnimationUsingKeyFrames();
scaleXAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(0, absoluteZeroKeyTime, sineEase));
scaleXAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(0, deferredStartKeyTime, sineEase));
scaleXAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(1, deferredEndKeyTime, sineEase));
Storyboard.SetTargetProperty(scaleXAnimation, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"));
Storyboard.SetTarget(scaleXAnimation, uiElement);
var scaleYAnimation = new DoubleAnimationUsingKeyFrames();
scaleYAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(0, absoluteZeroKeyTime, sineEase));
scaleYAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(0, deferredStartKeyTime, sineEase));
scaleYAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(1, deferredEndKeyTime, sineEase));
Storyboard.SetTargetProperty(scaleYAnimation, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"));
Storyboard.SetTarget(scaleYAnimation, uiElement);
var translateCoordinateAnimation = new DoubleAnimationUsingKeyFrames();
translateCoordinateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(elementTranslateCoordinateFrom, absoluteZeroKeyTime, sineEase));
translateCoordinateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(elementTranslateCoordinateFrom, deferredStartKeyTime, sineEase));
translateCoordinateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame(0, deferredEndKeyTime, sineEase));
Storyboard.SetTargetProperty(translateCoordinateAnimation, new PropertyPath(translateCoordinatePath));
Storyboard.SetTarget(translateCoordinateAnimation, uiElement);
var storyboard = new Storyboard();
storyboard.Children.Add(opacityAnimation);
storyboard.Children.Add(scaleXAnimation);
storyboard.Children.Add(scaleYAnimation);
storyboard.Children.Add(translateCoordinateAnimation);
if (reverse)
{
storyboard.AutoReverse = true;
storyboard.Begin();
storyboard.Seek(TimeSpan.FromMilliseconds(deferredEnd));
storyboard.Resume();
//.........这里部分代码省略.........
示例4: SetStoryBoardActivity
private void SetStoryBoardActivity(Storyboard sb, bool play)
{
if (play)
{
sb.Resume(this);
}
else
{
sb.Pause(this);
}
}