[silverlight基础]仿文字连接跑马灯效果-高手绕道

本文介绍了一种使用 WPF 实现文字滚动动画的方法。通过设置裁剪区域并利用 Storyboard 控制 Canvas 中的 TextBlock 左移实现无限滚动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行效果如下:
获取 Microsoft Silverlight

分析示意图:


代码:
 1      < Canvas  x:Name ="a"  Background ="AliceBlue"  MouseEnter ="a_MouseEnter"  MouseLeave ="a_MouseLeave"  Cursor ="Hand"   >
 2              < Canvas.Clip >
 3                  < RectangleGeometry  RadiusX ="0"  RadiusY ="0"  Rect ="50,50, 300,50"   />
 4              </ Canvas.Clip >
 5              < Canvas.Triggers >
 6                  < EventTrigger  RoutedEvent ="Canvas.Loaded"   >
 7                      < BeginStoryboard >
 8                          < Storyboard  x:Name ="animation"  Storyboard.TargetProperty ="(Canvas.Left)"  RepeatBehavior ="Forever"   >
 9                              < DoubleAnimation  Storyboard.TargetName ="txt1"  From ="50"  To ="-500"  Duration ="0:0:10"    />
10                              < DoubleAnimation  Storyboard.TargetName ="txt2"  From ="600"  To ="50"  Duration ="0:0:10"    />
11                          </ Storyboard >
12                      </ BeginStoryboard >
13                  </ EventTrigger >
14              </ Canvas.Triggers >
15              < TextBlock  x:Name ="txt1"   FontSize ="36"  Foreground ="Green"  Text ="1 2 3 4 5 6 7 8 9 0 a b c d e f "  Canvas.Top ="50"  Width ="550"  Height ="50" />
16              < TextBlock  x:Name ="txt2"   FontSize ="36"  Foreground ="Red"  Text ="1 2 3 4 5 6 7 8 9 0 a b c d e f "  Canvas.Top ="50"  Width ="550"  Height ="50" />
17          </ Canvas >
解释一下:
1.先创建了一个裁减区(起始坐标为50,50,宽度为300,高度为50)--这是必须的,否则超过这个区域的文字也会显示出来
2.Storyboard中对二段文字对象的Canvas.Left进行了变化,即完成左移
3.RepeatBehavior="Forever"表示这段动画将一直播放下去(即视觉上好象文字在一起向左滚动)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值