在WPF中使用关键帧使用双重动画设置滑块动画

在WPF中使用关键帧使用双重动画设置滑块动画,wpf,animation,storyboard,Wpf,Animation,Storyboard,我尝试做的应该很简单,但不管出于什么原因,它都不起作用。 预期的行为应该是滑块拇指从0=>100(silder min=0 max=100)开始,这意味着从左到右,然后再次返回,再次向右,并在那里等待5秒钟,就像凯特(骑士)一样 到目前为止,我实现的唯一一件事是它从右边开始,就这样,停在那里,什么也不做,没有进一步的动画: storyboard = new Storyboard(); storyboard.Completed += Storyboard_OnCompleted; var dou

我尝试做的应该很简单,但不管出于什么原因,它都不起作用。 预期的行为应该是滑块拇指从
0=>100
(silder min=0 max=100)开始,这意味着从左到右,然后再次返回,再次向右,并在那里等待5秒钟,就像凯特(骑士)一样

到目前为止,我实现的唯一一件事是它从右边开始,就这样,停在那里,什么也不做,没有进一步的动画:

storyboard = new Storyboard();
storyboard.Completed += Storyboard_OnCompleted;

var doubleKeyFrame = new DoubleAnimationUsingKeyFrames();
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(0, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 0))));                       
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(100, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 5))));
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(0, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 5))));
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(100, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 3))));
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(100, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 5))));

Storyboard.SetTarget(doubleKeyFrame, slider);
Storyboard.SetTargetProperty(doubleKeyFrame, new PropertyPath("Value"));
storyboard.Children.Add(doubleKeyFrame);

storyboard.Begin(slider);
我已经玩了好几个小时了,我不知道。拜托,也许有人能帮我一点忙


King问候你,Bernhard。

试试这个,我添加了
RepeatBehavior。永远
双关键帧的持续时间

var storyboard = new Storyboard();

var doubleKeyFrame = new DoubleAnimationUsingKeyFrames();
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(100, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 0))));
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(0, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 5))));

doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(0, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 0))));
doubleKeyFrame.KeyFrames.Add(new LinearDoubleKeyFrame(100, KeyTime.FromTimeSpan(new TimeSpan(0, 0, 0, 3))));

doubleKeyFrame.RepeatBehavior = RepeatBehavior.Forever;
doubleKeyFrame.Duration = TimeSpan.FromSeconds(10);

Storyboard.SetTarget(doubleKeyFrame, slider);
Storyboard.SetTargetProperty(doubleKeyFrame, new PropertyPath("Value"));
storyboard.Children.Add(doubleKeyFrame);

storyboard.Begin(slider);

首先非常感谢,我第一次看到它左右移动,但我仍然不明白您的解决方案是如何工作的,为什么工作的。另外,我会以不同的方式制作关键帧。如果我想在两边稍作停顿/说几句话,也许你可以给我一些想法。