Animation de texte WPF Marquee
Je peux faire défiler le texte avec TranslateTransform
mais lorsque l'animation est près de finir, je voudrais pour commencer à nouveau. Comme un serpent 🙂
C'est ce que j'ai:
<StackPanel Orientation="Horizontal" Margin="0,0,0,0">
<StackPanel.RenderTransform>
<TranslateTransform x:Name="transferCurreny" X="-40"/>
</StackPanel.RenderTransform>
<StackPanel.Triggers>
<EventTrigger RoutedEvent="StackPanel.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation From="0" To="-900" Duration="00:00:10"
Storyboard.TargetProperty="X"
Storyboard.TargetName="transferCurreny"
RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</StackPanel.Triggers>
<TextBlock FontSize="25" x:Name="txtKron" Margin="10,0,7,0"/>
</StackPanel>
C'est ce que je voudrais:
source d'informationauteur meymetkaplan
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme cela devrait faire l'affaire.
Vous pouvez ajouter un
Canvas
à laStackPanel
avec 2TextBlocks
une position 0, et un jeu à laActualWidth
de laStackPanel
puis, quand le premier bloc de texte va à l'écran de l'autre bloc.La raison, j'ai utilisé
Canvas
est parce queCanvas
est le seul élément qui prend en charge lesClipToBounds="false"
cela permet à la 2èmeTextBlock
pour être visible même si elle est placée à l'extérieur des limites de laCanvas
lui-mêmeNous avons également besoin d'un
IValueConverter
pour obtenir la bonne valeur négative si vous voulez faire défiler de droite à gauche.J'ai aussi ajouté de l'événement déclencheur sur
SizeChanged
donc, si la fenêtre est redimensionnée à l'animation des valeurs est mise à jour correctement.Code:
Xaml:
Résultat:
Edit: de Gauche à Droite
Le code dans la réponse ci-dessus n'est pas de produire en continu de défilement. Voici le code pour continu lisse de défilement.
XAML:
Code VB Derrière:
Exteding la réponse de sa_ddam213c'est une révision de la première animation(de Droite à Gauche). Ce sera le travail pour de longues cordes. 🙂