天天看點

Silerlight中利用TextBlock滾動顯示

SL中利用StoryBoard實作類似html中的Marquee滾動效果,以下是核心代碼:

<Canvas x:Name="c1" Margin="2,25,2,2">

<Canvas.Triggers>

<EventTrigger RoutedEvent="Canvas.Loaded" >

<BeginStoryboard>

<Storyboard x:Name="animation" RepeatBehavior="Forever" >

<DoubleAnimation Storyboard.TargetName="ScrollingUp"

Storyboard.TargetProperty="(Canvas.Top)" From="120" To="0" Duration="0:0:10" />

</Storyboard>

</BeginStoryboard>

</EventTrigger>

</Canvas.Triggers>

<TextBlock x:Name="ScrollingUp" FontWeight="Bold" Foreground="Red" FontSize="12" TextWrapping="Wrap" Height="113">

從下往上滾動的文字

</TextBlock>

</Canvas>

這裡是滾動文字的代碼,主要的就是StoryBoard裡的屬性設定:

Storyboard.TargetProperty="(Canvas.Top)" From="100" To="0" Duration="0:0:10"

同理,其他方向如下設定即可:

Storyboard.TargetProperty="(Canvas.Top)" From="0" To="100" Duration="0:0:10"   //從上往下滾動

Storyboard.TargetProperty="(Canvas.Left)" From="0" To="100" Duration="0:0:10"   //從左往右滾動

Storyboard.TargetProperty="(Canvas.Left)" From="100" To="0" Duration="0:0:10"   //從右往左滾動