是否有WPF打字机效果?

时间:2010-08-07 13:49:51

标签: wpf animation effect

在WPF中是否有与Flash的打字机效果等效的内容?

2 个答案:

答案 0 :(得分:6)

好的,我让它成功了!

private void TypewriteTextblock(string textToAnimate, TextBlock txt, TimeSpan timeSpan)
    {
        Storyboard story = new Storyboard();
        story.FillBehavior = FillBehavior.HoldEnd;
        story.RepeatBehavior = RepeatBehavior.Forever;

        DiscreteStringKeyFrame discreteStringKeyFrame;
        StringAnimationUsingKeyFrames stringAnimationUsingKeyFrames = new StringAnimationUsingKeyFrames();
        stringAnimationUsingKeyFrames.Duration = new Duration(timeSpan);

        string tmp = string.Empty;
        foreach(char c in textToAnimate)
        {
            discreteStringKeyFrame = new DiscreteStringKeyFrame();
            discreteStringKeyFrame.KeyTime = KeyTime.Paced;
            tmp += c;
            discreteStringKeyFrame.Value = tmp;
            stringAnimationUsingKeyFrames.KeyFrames.Add(discreteStringKeyFrame);
        }
        Storyboard.SetTargetName(stringAnimationUsingKeyFrames, txt.Name);
        Storyboard.SetTargetProperty(stringAnimationUsingKeyFrames, new PropertyPath(TextBlock.TextProperty));
        story.Children.Add(stringAnimationUsingKeyFrames);

        story.Begin(txt);
    }

但有没有办法让人物淡出?

答案 1 :(得分:0)

通过打字机效果你的意思是字符串是逐字母显示的吗?

您可以使用StringAnimationUsingKeyframes对象获得类似的效果,但是,您必须手动输入每个字符串值。

要自动创建此效果,您必须编写自己的动画对象,很可能是基于StringAnimationBase类的动画对象。