[silverlight:
http://members.chello.nl/s.dol/QuoteFloat.html] QuoteFloat is an animation for TextBlock elements, inspired by the way the HTC Touch HD shows SMS Text messages. It moves the text up and rotates it at the same time resulting in a spiraling effect. It is done by giving the TextBlock elements a PlaneProjection each and animating the RotationY and GlobalOffsetY properties. The TextBlock elements are positioned below the bottom of the Canvas. The Canvas has a Clipping Mask so no one will see them until the animation starts. The XAML looks like this: <Canvas x:Name="cvsBg" Width="500" Height="155"
Clip="M0.5,0.5 L499.5,0.5 L499.5,154.5 L0.5,154.5 z">
<TextBlock x:Name="txt1" Text="Txt1" Canvas.Top="192"
Style="{StaticResource TextBlockStyle1}">
<TextBlock.Projection><PlaneProjection/></TextBlock.Projection>
</TextBlock>
<TextBlock x:Name="txt2" Text="Txt2" Canvas.Top="228"
Style="{StaticResource TextBlockStyle1}">
<TextBlock.Projection><PlaneProjection/></TextBlock.Projection>
</TextBlock>
<TextBlock x:Name="txt3" Text="Txt3" Canvas.Top="265"
Style="{StaticResource TextBlockStyle2}">
<TextBlock.Projection><PlaneProjection/></TextBlock.Projection>
</TextBlock>
</Canvas> I use two Styles for the two TextBlocks. Notice the second style is BasedOn, so it needs only to define the properties that are different from the first style. The Canvas.Top property is different for all the TextBlocks and defined inline in the XAML above. <Style x:Key="TextBlockStyle1" TargetType="TextBlock">
<Setter Property="Foreground" Value="White"/>
<Setter Property="Width" Value="400"/>
<Setter Property="Height" ...