c#uwp动画使文字闪烁

时间:2017-02-21 09:52:45

标签: c# animation uwp flicker marquee

我正在为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();

有没有人知道任何属性,一些双缓冲区或类似的东西来覆盖这个问题?

1 个答案:

答案 0 :(得分:0)

实际上,此问题与设备性能更相关。我检查了你的代码,你的代码没有问题。

我在不同的机器配置上测试了你的代码。 “闪烁”现象不同。

有一种解决方法可以解决这个问题。

您可以通过设置更长的持续时间(例如keyFrameEnd.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(20000));)来缓解此问题。