我有一个范围控件,其动作序列包含在故事板中。我创建了一个移动序列,但我想在用户单击反向按钮时反转动画。我也有一个暂停按钮,它可以正常工作。
播放按钮代码:
listArrayFromJSON = getArrayJSON(); //get JSON with GSON request
mItems.addAll(ListArrayFromJSON,header); //not add`
暂停按钮代码:
public void Animate(DateTime endDate)
{
previousMaxValue = (DateTime)rangeControl.SelectionRangeEnd;
previousMinValue = (DateTime)rangeControl.SelectionRangeStart;
double toValue = (endDate - previousMaxValue).TotalSeconds;
TimeSpan sp = TimeSpan.FromSeconds(diffInSeconds);
animation = new DoubleAnimation(0, toValue, new Duration(sp));
storyboard.Children.Clear();
storyboard.Children.Add(animation);
storyboard.AutoReverse = true;
Storyboard.SetTarget(animation, this);
Storyboard.SetTargetProperty(animation, new PropertyPath(AxisRangeAnimator.ValueProperty));
storyboard.Begin();
}
我正在尝试设置反向按钮。属性public void Pause()
{
storyboard.Pause();
}
使得动画在结束时反向运行,但是当用户在动画所在的位置单击按钮时,我希望实现此效果。
答案 0 :(得分:0)
方法StoryBoard.Seek在下一个时钟滴答发生时将故事板寻找到新位置。
public void Reverse()
{
TimeSpan CurrentTime = (TimeSpan)storyboard.GetCurrentTime();
TimeSpan sp = TimeSpan.FromSeconds(diffInSeconds);
TimeSpan SubtractTime = sp.Subtract(CurrentTime);
storyboard.Seek(SubtractTime, TimeSeekOrigin.Duration);
}