PDA

View Full Version : [WPF/SL/WP7] - Modificare il valore ottenuto da un binding


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?