WPFにFlashのタイプライター効果に相当するものはありますか?
2737 次
2 に答える
7
OK、うまくいきました!
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);
}
しかし、文字をフェードインさせる方法はありますか?
于 2010-08-07T19:59:14.523 に答える
0
タイプライター効果とは、文字列が文字ごとに表示されることを意味しますか?
StringAnimationUsingKeyframesオブジェクトでも同様の効果を得ることができますが、すべての文字列値を手動で入力する必要があります。
この効果を自動的に作成するには、おそらくStringAnimationBaseクラスに基づく独自のアニメーション オブジェクトを作成する必要があります。
于 2010-08-07T15:28:36.200 に答える