我正在为textblock创建一个选框动画。我已经成功地在画布上使用双重动画移动文本块。但问题是文字在每移动0.5秒时闪烁......
以下是我使用的示例代码:
sb1 = new Storyboard();
DoubleAnimationUsingKeyFrames animationKeyFrames = new DoubleAnimationUsingKeyFrames();
var keyFrameStart = new EasingDoubleKeyFrame();
keyFrameStart.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(0));
keyFrameStart.Value = TextWidth;
var keyFrameEnd = new EasingDoubleKeyFrame();
keyFrameEnd.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(10000));
keyFrameEnd.Value = -TextWidth;
animationKeyFrames.KeyFrames.Add(keyFrameStart);
animationKeyFrames.KeyFrames.Add(keyFrameEnd);
Storyboard.SetTargetProperty(animationKeyFrames, "(Canvas.Left)");
Storyboard.SetTarget(animationKeyFrames, textBlock1);
sb1.RepeatBehavior = RepeatBehavior.Forever;
sb1.Children.Add(animationKeyFrames);
sb1.Begin();
有没有人知道任何属性,一些双缓冲区或类似的东西来覆盖这个问题?
答案 0 :(得分:0)
实际上,此问题与设备性能更相关。我检查了你的代码,你的代码没有问题。
我在不同的机器配置上测试了你的代码。 “闪烁”现象不同。
有一种解决方法可以解决这个问题。
您可以通过设置更长的持续时间(例如keyFrameEnd.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(20000));
)来缓解此问题。