先上代码
public MainWindow() { InitializeComponent(); //跳动的文字 Storyboard perChar = new Storyboard(); _text.TextEffects = new TextEffectCollection(); for (int i = 0; i < _text.Text.Length; i++) { TextEffect effect = new TextEffect(); effect.Transform = new TranslateTransform(); effect.PositionStart = i; effect.PositionCount = 1; _text.TextEffects.Add(effect); DoubleAnimation anim = new DoubleAnimation(); anim.To = 25; anim.AccelerationRatio = .2; anim.DecelerationRatio = .2; anim.RepeatBehavior = RepeatBehavior.Forever; anim.AutoReverse = true; anim.Duration = TimeSpan.FromSeconds(2); anim.BeginTime = TimeSpan.FromMilliseconds(250 * i); Storyboard.SetTargetProperty(anim, new PropertyPath("TextEffects[" + i + "].Transform.Y")); Storyboard.SetTargetName(anim, _text.Name); perChar.Children.Add(anim); } perChar.Begin(this); }
效果图如下:
前台代码如下:
<TextBlock FontSize="36pt" Name="_text" Grid.Row="1" Grid.ColumnSpan="3" VerticalAlignment="Center" > This is animated Text </TextBlock>
我是初学者,如有什么错误多多指教。也是为了留个印记说不定以后用的着。