Kralizek
01-10-2010, 13:07
Sto facendo i primi passi in WPF/Silverlight/WP7 e per ora sto giochicchiando con i Bindings.
In particolare sto cercando di creare un effetto simil marquee su un TextBlock.
<TextBlock x:Name="PageTitle" Text="{Binding Education.Name}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}">
<TextBlock.RenderTransform>
<TranslateTransform x:Name="AnimatedTranslateTransform" X="0" Y="0" />
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="Canvas.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="AnimatedTranslateTransform"
Storyboard.TargetProperty="X"
From="0" To="{Binding ActualWidth, ElementName=PageTitle, Mode=OneWay}"
AutoReverse="False" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
Come vedete la "DoubleAnimation" parte da 0 ed arriva alla reale larghezza del blocco. In realtá il secondo valore dovrebbe essere moltiplicato per -1 perché voglio far scorrere il testo verso sinistra.
Ho visto che posso usare un coverter, ma non sono sicuro che sia la cosa migliore da fare.
Consigli?
In particolare sto cercando di creare un effetto simil marquee su un TextBlock.
<TextBlock x:Name="PageTitle" Text="{Binding Education.Name}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}">
<TextBlock.RenderTransform>
<TranslateTransform x:Name="AnimatedTranslateTransform" X="0" Y="0" />
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="Canvas.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="AnimatedTranslateTransform"
Storyboard.TargetProperty="X"
From="0" To="{Binding ActualWidth, ElementName=PageTitle, Mode=OneWay}"
AutoReverse="False" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
Come vedete la "DoubleAnimation" parte da 0 ed arriva alla reale larghezza del blocco. In realtá il secondo valore dovrebbe essere moltiplicato per -1 perché voglio far scorrere il testo verso sinistra.
Ho visto che posso usare un coverter, ma non sono sicuro che sia la cosa migliore da fare.
Consigli?