View Single Post
Old 01-10-2010, 12:07   #1
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
[WPF/SL/WP7] - Modificare il valore ottenuto da un binding

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.

Codice:
        	<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?
Kralizek è offline   Rispondi citando il messaggio o parte di esso