Вы можете запустить анимацию один раз, затем по завершенному событию изменить содержимое метки, а затем продолжить запуск анимации.
Ваш код будет более компактным, если вы переместите анимацию вресурсы:
XAML:
<Window.Resources>
<DoubleAnimation x:Key="da"
Completed="DoubleAnimation_Completed"
From="220" To="-1300" Duration="0:0:15"
/>
</Window.Resources>
<StackPanel>
<Label x:Name="lbl" Content="Hello! your Welcome" HorizontalAlignment="Right" FontSize="11">
<Label.RenderTransform>
<TranslateTransform x:Name="Transform" X="0" Y="0"/>
</Label.RenderTransform>
</Label>
</StackPanel>
Код сзади:
private void DoubleAnimation_Completed( object sender, EventArgs e ) {
this.lbl.Content = "Second time";
DoubleAnimation da = this.Resources[ "da" ] as DoubleAnimation;
TranslateTransform tr = this.Transform;
da.Completed -= DoubleAnimation_Completed;
da.RepeatBehavior = RepeatBehavior.Forever;
tr.BeginAnimation( TranslateTransform.XProperty, da );
}
private void Window_Loaded( object sender, RoutedEventArgs e ) {
DoubleAnimation da = this.Resources[ "da" ] as DoubleAnimation;
TranslateTransform tr = this.Transform;
tr.BeginAnimation( TranslateTransform.XProperty, da );
}