继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

泛舟湖上清波郎朗
关注TA
已关注
手记 281
粉丝 32
获赞 226


分析示意图:
https://img4.mukewang.com/5afd2f790001f8db06590217.jpg
代码:

 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"表示这段动画将一直播放下去(即视觉上好象文字在一起向左滚动)

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP