wpf 滚动文字 跑马灯

有时候也会有用,比如我的软件界面 放不下全长的文字时。或者状态栏显示一些时间,地点,温度,湿度等等这些东西

代码链接  https://gitee.com/csszbb/wpfnet5

 

这属于WPF 动画的最基本应用了。

动画这东西我觉得重在巧。用的巧妙,不需要多高深的技术,就能做出非常好的效果。

        <Border Loaded="bd_Loaded" Grid.Column="2" BorderBrush="Red" Padding="5" BorderThickness="1" x:Name="bd" ClipToBounds="True" Margin="0,50,0,0" Height="34" VerticalAlignment="Top" HorizontalAlignment="Center" Width="170" >
            <TextBlock x:Name="tb" HorizontalAlignment="Left"   VerticalAlignment="Top" Height="25"  FontSize="16">
            欢迎全国政协副主席、科技部部长万钢,部党组副书记、副部长王志刚
            </TextBlock>
        </Border>

如上,红色框是一个固定长度的border。border 里面是一个长度随着显示字体变化的TextBlock.  注意

HorizontalAlignment="Left" 这个很重要,这样 Margin 属性的 left 值变化,才会改变TextBlock 相对于 Border的位置。

原理也很简单,只要改变TextBlock  margin的 left值,让它一段时间内一直变小。就能让TextBlock 相对于Border 左移

 

那么,如果我外边不是一个Border ,而是一个Canvas 那? 那就不是改变Margin 了 ,应该要改变Canvas.Left了把  。举一反三很重要

 

posted on 2021-07-16 17:03  陈傻傻周笨笨  阅读(1768)  评论(1编辑  收藏  举报

导航